How to Set Up a Firefox Proxy: Complete 2026 Guide
TL;DR
Firefox keeps its own proxy stack separate from the operating system, so a proxy set inside Firefox leaves every other app untouched.
The Connection Settings dialog moved: recent builds put it under Privacy and security → Connection and software security → Advanced settings → Proxy settings, not the older General → Network Settings path most guides still show.
Ticking "Proxy DNS when using SOCKS v5" is necessary but not sufficient, because DNS over HTTPS can still resolve outside the SOCKS tunnel.
Firefox's proxy settings do not cover WebRTC, so a correctly proxied browser can still surface its real IP unless that is handled separately.
Multi-Account Containers do not natively support a different proxy per container; that needs an extension such as FoxyProxy.
Editing user.js pins a proxy to one Firefox profile and survives UI redesigns, which matters now that Firefox moves to a two-week release cadence from version 155.
Introduction: The Setup Guide Most Firefox Proxy Articles Get Half Right
Firefox is the only mainstream desktop browser that ships a complete proxy configuration UI, authentication included, without an extension. That makes it the default choice when one browser needs to run through a proxy while the rest of the machine stays on the normal connection.
It also makes Firefox proxy guides go stale quickly. Mozilla reorganized where the proxy dialog lives, the SOCKS5 DNS advice that circulates widely is incomplete, and the browser's release cadence is about to double. This guide covers the four ways to point Firefox at a proxy, then the parts the click-path tutorials skip.
What a Firefox Proxy Actually Is
A Firefox proxy is a proxy server configured inside Firefox's own network settings, applying only to traffic Firefox generates. Requests leave your machine, reach the proxy, and the proxy forwards them onward, so the destination site sees the proxy's IP rather than yours.
The distinction that matters operationally: Firefox maintains proxy preferences independent of the OS. Your terminal, your other browsers, and every background app keep using the normal connection. Chrome defers to the system proxy on desktop unless an extension intervenes, which is why Firefox remains the practical choice for browser-scoped proxy work.
A Firefox proxy is only as reliable as the IP behind it — Nstproxy's Static ISP and Residential proxies both speak plain HTTP and SOCKS5, so they drop straight into Firefox's built-in dialog with no extension required.
Why Configure the Proxy in Firefox Rather Than System-Wide
Configuring the proxy in Firefox limits both the blast radius and the bandwidth bill. A system proxy pushes OS update checks, cloud sync clients, and every background service through the same paid egress, inflating usage on metered plans and blurring which traffic caused a block.
Browser-scoped configuration also keeps a direct connection alongside the proxied one. Firefox stays pinned to a proxy while your terminal and a second browser stay local, turning "is it the proxy or the site?" from a guess into a two-second comparison.
When Teams Reach for a Firefox Proxy
Four workflows account for most Firefox proxy use in practice:
Checking localized pages and ads. Loading a page through an IP in the target market shows what users there see — the manual counterpart to automated ad verification.
Manual QA of geo-gated features. Pricing pages, content libraries, and signup flows branch on IP geolocation, and a proxied window confirms the branch fastest.
Separating account sessions. Several accounts sharing one office IP get linked; giving each Firefox profile its own IP keeps them apart.
Debugging a scraper by hand. Loading the blocked URL through the same proxy shows whether the block is IP-level or fingerprint-level.
How to Set Up a Proxy in Firefox
There are four routes, and the right one depends on whether you need one proxy or many, and one machine or a fleet. Have the proxy host, port, username, and password ready first — finding your proxy server address differs by provider, though Nstproxy exposes all four in the dashboard when you generate a channel.
Method 1: Firefox's Built-In Connection Settings
This is the right method for one proxy on one machine, and it handles authentication natively.
Step 1: Open the Connection Settings dialog
Click the menu button and choose Settings. In recent Firefox builds, select Privacy and security, scroll to Connection and software security, click Advanced settings, find Proxy settings, and click Configure proxy. Older builds put the same dialog under General → Network Settings → Settings; Mozilla's own connection settings documentation lists both paths depending on the version selected.
If neither matches your build, type about:preferences in the address bar and search for "proxy". That shortcut has outlived several rounds of menu reshuffling.
Step 2: Choose Manual proxy configuration
The dialog offers five modes: No proxy, Auto-detect (probes the network for a WPAD configuration), Use system proxy settings, Manual proxy configuration, and Automatic proxy configuration URL (loads a PAC file). Select Manual proxy configuration.
Step 3: Enter host and port
Put the proxy hostname in HTTP Proxy and the port in Port. Tick Also use this proxy for HTTPS unless your provider gives you a separate HTTPS endpoint — with a single gateway host, which is how most residential and ISP providers work, leaving it unchecked sends HTTPS traffic out unproxied.
Use No Proxy For to exclude internal hosts. Entering <local> sends any hostname without a period in it out on the direct connection, keeping local development servers reachable.
Step 4: Save and authenticate
Click OK, then load any site. Firefox prompts for the username and password on the first request and caches them for the session. Providers that encode session control into the username, as Nstproxy does with its <channelId>-<proxy_type>-country_<country>-r_<duration>-s_<sessionId> format, need that full string in the username field rather than just the account name.
Method 2: SOCKS5 With Remote DNS
Use SOCKS5 when you need protocol-agnostic routing or when your provider's endpoint is SOCKS-only. Firefox supports both SOCKS4 and SOCKS5, but only SOCKS5 handles authentication and remote DNS — the differences between the versions are covered in more depth in this SOCKS proxy guide.
Step 1: Fill the SOCKS fields
In the same Manual proxy configuration panel, enter the host in SOCKS Host and the port in Port, then select the SOCKS v5 radio button. Leave the HTTP Proxy fields empty if you are routing everything through SOCKS.
Step 2: Enable Proxy DNS when using SOCKS v5
Tick Proxy DNS when using SOCKS v5. Without it, Firefox resolves hostnames locally before opening the SOCKS tunnel, which sends every domain you visit to your ISP's resolver and reveals your real location even though the traffic itself is proxied.
Step 3: Check your DNS over HTTPS setting
This is the step most guides omit. With DNS over HTTPS active, Firefox can resolve through the DoH provider instead of the SOCKS tunnel, reintroducing the leak the checkbox was supposed to close. Mozilla tracks this interaction directly — bug 1540584 proposes greying out the SOCKS DNS checkbox when DoH is enabled, precisely because the two conflict. Pick which resolver to trust and disable the other under Privacy and security → DNS over HTTPS.
Method 3: FoxyProxy for Per-Tab and Per-Container Switching
Reach for an extension when you need more than one proxy at a time. Firefox's built-in dialog is global — one proxy for the whole browser — so covering three markets means reopening it three times.
FoxyProxy Standard is the long-standing option, carrying Mozilla's Recommended badge and around 212,000 users. It switches proxies by URL pattern, browser tab, container, or manually from the toolbar, and exposes a WebRTC toggle the native dialog lacks.
Step 1: Install and add your proxies
Install from the add-ons site, open the options page, and add each proxy with its host, port, type, username, and password. Give each a distinct color so the toolbar icon shows which is live at a glance.
Step 2: Set switching rules
Define URL patterns for automatic switching, or assign proxies to specific containers when separating account sessions. Firefox's Multi-Account Containers do not support per-container proxies on their own — that has been an open request in Mozilla's own repository for years, which is exactly why the extension exists.
Step 3: Grant private browsing permission if needed
Extensions do not run in private windows by default. If the proxy stops applying there, open about:addons, select FoxyProxy, and enable Run in Private Windows.
Method 4: Profile-Level Configuration With user.js
This is the method for running multiple Firefox profiles each pinned to a different proxy, and the one that survives UI changes.
Step 1: Locate the profile directory
Open about:profiles and note the Root Directory path for the profile you want. Create a new profile first if you are separating accounts — each carries its own cookies, storage, and proxy settings.
Step 2: Write user.js
Close Firefox, then create a user.js file in that root directory:
// Manual proxy configurationuser_pref("network.proxy.type",1);// HTTP + HTTPS through one gatewayuser_pref("network.proxy.http","YOUR_GATEWAY_HOST");user_pref("network.proxy.http_port",24125);user_pref("network.proxy.share_proxy_settings",true);// Or SOCKS5 with remote DNS instead of the two blocks above// user_pref("network.proxy.socks", "YOUR_GATEWAY_HOST");// user_pref("network.proxy.socks_port", 24125);// user_pref("network.proxy.socks_version", 5);// user_pref("network.proxy.socks_remote_dns", true);user_pref("network.proxy.no_proxies_on","localhost, 127.0.0.1");
Replace YOUR_GATEWAY_HOST with the endpoint your provider gives you; Nstproxy publishes a global endpoint plus regional US, EU, and Asia endpoints in its proxy documentation, and picking the one nearest you cuts the latency that makes proxied browsing feel sluggish.
network.proxy.type accepts 0 for no proxy, 1 for manual, 2 for a PAC file, 4 for auto-detect, and 5 for the system proxy. Every preference name above appears in Mozilla's enterprise administrator reference, which documents the same settings as the Proxy policy for managed deployments.
Step 3: Launch the profile and confirm
Start Firefox with firefox -P "profile-name", or /Applications/Firefox.app/Contents/MacOS/firefox -P "profile-name" on macOS. Credentials still prompt on first request, since user.js sets routing rather than authentication.
Confirming the Proxy Is Actually Working
Load an IP-reflection service in the proxied window and compare it against the same check in an unproxied browser. Three things should hold: the reported IP is the proxy's, the country matches the region you selected, and the page loads without an authentication error.
If the IP matches but the geolocation looks wrong, the record is stale at the lookup service rather than the proxy failing, and a second lookup settles it. If the IP is your own, Firefox is not using the proxy: reopen the dialog and confirm Manual proxy configuration is still selected, since extensions and enterprise policies can override it silently.
Limits and Gotchas Firefox's Proxy Settings Do Not Cover
WebRTC sits outside the proxy. Firefox's proxy configuration governs HTTP and SOCKS traffic. A WebRTC peer connection can still expose the local and public IP independently, so a browser that passes an IP-reflection check can fail a WebRTC leak test. FoxyProxy's WebRTC toggle or a dedicated leak-test tool is how you check.
Extensions can override your settings. The Connection Settings dialog shows a notice when an extension controls the proxy, with a Disable Extension button. Any VPN or privacy add-on can take precedence over what you typed.
Menu paths will keep moving. Mozilla shifts Firefox to a two-week release cadence starting with version 155 in September 2026, roughly doubling the rate at which screenshots and click paths go stale. Preference names have been stable far longer than menu locations, which is the argument for Method 4 over Method 1 on any machine you keep long-term.
One proxy at a time, natively. The built-in dialog holds a single configuration. Concurrent proxies need the extension route or separate profiles.
Choosing the Proxy Behind the Setup
The configuration only works as well as the IP behind it, and Firefox's dialog accepts anything speaking HTTP or SOCKS5. Nstproxy suits browser-proxy work because every product line exposes standard HTTP/HTTPS/SOCKS5 gateways rather than a proprietary client, so one set of credentials drops into Firefox's native dialog, FoxyProxy, and a user.js file without translation.
Static ISP Proxies for pinned profiles — pay-per-IP with unlimited-duration sessions and no traffic metering, suited to a Firefox profile holding one identity for weeks. Country-level targeting, 99.98% reported success rate.
Residential Prime Proxies for geo-checking — 110M+ real residential IPs with country, city, and ASN filtering, the granularity manual localization QA actually needs.
Mobile Proxies for carrier-trust scenarios — real 4G/5G carrier IPs across 140+ countries with sticky sessions, for pages that treat mobile traffic differently.
Regional gateway endpoints — US, EU, and Asia gateways alongside the global one, so a Firefox session avoids a transcontinental round trip per request.
One honest limitation: Nstproxy does not publish its own Firefox extension. Per-tab or per-container switching means pairing it with FoxyProxy or running separate profiles.
Setting a proxy in Firefox takes about a minute once you know where the dialog moved to, and the built-in route covers the common case of one proxy on one machine. What separates a working setup from a leaking one is the SOCKS5 interaction with DNS over HTTPS, WebRTC sitting outside the proxy, and containers needing an extension for per-container routing. On a machine you maintain over time, configuring user.js at the profile level costs a few extra minutes and stops the setup breaking each time Mozilla reorganizes a settings page.
In recent Firefox builds they sit under Settings → Privacy and security → Connection and software security → Advanced settings → Proxy settings → Configure proxy. Older builds place the same dialog under General → Network Settings → Settings, and typing about:preferences then searching for "proxy" reaches it on either.
Q: Does Firefox support SOCKS5 proxies?
Yes. Select Manual proxy configuration, enter the host and port in the SOCKS Host fields, and choose the SOCKS v5 radio button. SOCKS5 supports authentication and remote DNS resolution; SOCKS4 supports neither.
Q: Why is my Firefox proxy not working?
Check four things in order: the host and port are correct, the credentials are correct including any session parameters encoded in the username, Manual proxy configuration is still the selected mode, and no extension has taken over the proxy setting — the Connection Settings dialog displays a notice when one has.
Q: Does ticking "Proxy DNS when using SOCKS v5" fully prevent DNS leaks?
Not on its own. The checkbox routes Firefox's own DNS lookups through the SOCKS tunnel, but DNS over HTTPS can resolve outside that tunnel simultaneously, and proxy extensions have their own leak paths tracked in Mozilla's bug database. Pick one resolution path and disable the other.
Q: Can I use a different proxy for each Firefox container?
Not with Multi-Account Containers alone, since per-container proxy support is still an open request in Mozilla's repository. An extension such as FoxyProxy adds it, and separate Firefox profiles with their own user.js files achieve the same isolation with more setup.
Q: How do I turn the proxy off?
Reopen the Connection Settings dialog and select No proxy, or set network.proxy.type to 0 if you configured it through user.js. Both take effect without restarting Firefox.
Lena Zhou
Aug. 3rd 2026
Experience Nstproxy - Start Your Free Trial Today
110M+ real IPs with 99.9% access success
Get immediate access to premium residential, datacenter, IPv6 and ISP proxy pools.
Blazing-fast average response ~0.5s for high-concurrency tasks