How to Set Up a Proxy in Google Chrome Browser | 2026
TL;DR
Chrome has no proxy settings of its own.chrome://settings/system just opens a button that hands you off to your operating system's network settings, so "setting up a proxy in Chrome" almost always means configuring the OS, not Chrome itself.
Windows and macOS share the same entry point but land in different native panels — Windows opens its own Settings > Network & Internet > Proxy page, macOS opens the Network preference pane.
Linux depends on your desktop environment. Chromium auto-detects proxy settings on GNOME and KDE; anything else needs a command-line flag or environment variable instead, per Chromium's own documentation.
ChromeOS ties a proxy to a specific Wi-Fi or Ethernet network, not one global system setting, and a managed Chromebook can have that overridden entirely by a device or user policy.
--proxy-server, --proxy-pac-url, and --proxy-bypass-list launch flags give per-session control without touching OS settings at all, including SOCKS5 via a socks5://host:port value.
Chrome does not accept username:password@host:port in the proxy field or in --proxy-server. An authenticated proxy triggers Chrome's own native sign-in prompt the first time a request needs it, credentials or not.
Check the publisher before installing any proxy-switcher extension. Chrome itself flagged the official Proxy SwitchyOmega extension as a possible malware risk, and separate impersonating forks have been reported stealing data — this isn't a reason to avoid extensions outright, but it is a reason to verify one before installing it.
Setting up a proxy in Chrome means pointing Chrome's outbound requests at an intermediary server instead of connecting to sites directly, and in practice that almost always means configuring your operating system's proxy settings rather than a setting that lives inside Chrome. Chrome does not ship its own proxy configuration panel; clicking the proxy entry inside chrome://settings/system opens your computer's native network settings instead. Chromium's own network documentation states this directly: the network stack "uses the system network settings so that users and administrators can control the network settings of all applications easily." That single design decision is why the steps below differ by operating system rather than staying the same across every platform, and why a proxy you set through Chrome's settings entry point actually affects every other app on the machine that also reads OS-level proxy settings, not Chrome alone.
Why People Set Up a Proxy in Chrome
The reasons for routing Chrome's traffic through a proxy generally fall into one of a few categories: checking how a site renders or what content it serves to visitors in a different country, complying with a company network policy that routes outbound web traffic through an approved gateway, running browser automation or scraping jobs that need an exit IP different from the local network's, and general privacy — keeping a home or office IP address out of a destination server's logs. Which of these applies changes what kind of proxy setup makes sense: a one-off geo-check might only need a temporary command-line launch, while an ongoing automation or privacy use case usually calls for a persistent, authenticated proxy configured at the OS level or handled by an extension.
How Chrome Actually Applies a Proxy: Three Entry Points
Chrome picks up a proxy configuration from one of three places, and knowing which one is in effect matters more than the exact menu path. The first and most common is the operating system's own network settings, which Chrome reads the same way every other app on that machine does — this is what the chrome://settings/system button opens. The second is a command-line flag passed when Chrome launches, which overrides the OS setting for that one Chrome instance without touching anything system-wide. The third is a browser extension using Chrome's chrome.proxy API, which can override both of the above, switch per tab or per profile, and persist until the extension is removed or disabled. Only one of these is actually controlling traffic at any given moment, which is the first thing to check when a proxy setup "isn't working" — the setting closest to the OS often loses to whichever of the other two was configured more recently.
Before You Start
Four pieces of information make the rest of this straightforward: the proxy's host or IP address, its port, which protocol it expects (HTTP, HTTPS, or SOCKS5), and — if the proxy requires it — a username and password. Missing any of these produces a specific, recognizable failure covered in the troubleshooting section below, so it's worth confirming all four with whoever issued the proxy before opening any settings screen; a separate walkthrough covers how to track down these details if a proxy is already configured somewhere and the address itself is what's missing.
Configure the Proxy for Your Operating System
Every desktop platform starts the same way: open Chrome, click the three-dot menu, go to Settings > System, and select Open your computer's proxy settings. From there, the path splits by platform.
Windows
The proxy button opens Windows' own Settings > Network & Internet > Proxy page. Under Manual proxy setup, toggle Use a proxy server on, then enter the address and port exactly as given — Windows expects them as two separate fields, not a combined host:port string. The "Don't use the proxy server for local (intranet) addresses" checkbox is worth leaving on unless a specific internal tool needs to go through the proxy too, since routing local network traffic through an external proxy usually just breaks it. A dedicated Windows 10 proxy guide covers this same panel in more depth for readers configuring the OS proxy outside of Chrome as well.
macOS
The same button takes macOS users into Network preferences instead. Select the active network service (Wi-Fi or Ethernet), open its Proxies tab, and enable the matching protocol checkbox (Web Proxy (HTTP), Secure Web Proxy (HTTPS), or SOCKS Proxy) before entering the server address and port. macOS keeps proxy settings per network service, so a laptop that switches between Wi-Fi networks needs the same fields set on each one it uses.
Linux (GNOME, KDE, and Everything Else)
Linux is the platform none of the widely-shared Chrome proxy guides actually cover, and Chromium's own documentation is explicit about why the setup differs here: when Chromium detects it's running under GNOME or KDE, it automatically uses that desktop's own proxy settings — GNOME's under Settings > Network > Network Proxy, KDE's under System Settings > Network > Proxy. Outside of GNOME and KDE (a tiling window manager, a minimal desktop, or a headless setup), there's no automatic detection to hook into, and Chromium's Linux proxy documentation points to command-line flags or environment variables as the alternative rather than a settings panel — the command-line approach covered later in this guide.
ChromeOS (Chromebook)
ChromeOS breaks from the other three platforms in a specific way: instead of one system-wide proxy setting, a Chromebook's proxy is attached to a specific Wi-Fi or Ethernet network, configured from that network's own settings rather than a general "system" page. On a personal, unmanaged Chromebook this means opening the network's settings and setting its proxy there rather than expecting a single toggle to cover every network. On a school- or work-managed Chromebook, this is frequently taken out of the user's hands entirely — Google's own ChromeOS proxy documentation lists a strict override order where an administrator's user or device policy takes priority over anything set in the network settings UI, so a proxy that won't stick on a managed Chromebook is often a policy decision, not a configuration mistake.
Take a Quick Look
If you're filling in these OS-level fields with a proxy you don't fully control, Nstproxy gives you one stable host, port, and credential pair that works in every field above, on every platform.
Launch Chrome with a Proxy from the Command Line Instead
Every step above changes a setting that persists until someone changes it back. A command-line flag instead applies only to the Chrome instance it launches, which is useful for testing a proxy without touching the OS configuration at all. Chromium's own network settings documentation lists the flags directly, starting with routing all traffic through a single proxy:
chrome --proxy-server="http://host:port"
A scheme-to-proxy mapping sends HTTP and HTTPS traffic through different proxies in one launch:
--proxy-auto-detect asks Chrome to try to detect a proxy configuration automatically instead of setting one explicitly, though it's ignored whenever --proxy-server is also present:
chrome --proxy-auto-detect
--no-proxy-server explicitly disables any proxy for that launch, overriding whatever the OS settings say:
chrome --no-proxy-server
--proxy-bypass-list only has an effect when it's paired with --proxy-server — on its own, it does nothing.
Using SOCKS5 or a PAC File
Both of these are absent from most Chrome proxy walkthroughs, but the syntax is documented directly by Chromium. A SOCKS5 proxy uses the same --proxy-server flag with a socks5:// scheme:
The second flag matters more than it looks: without it, Chrome can still resolve hostnames through your local DNS instead of the SOCKS proxy, which leaks which sites you're visiting even though the connections themselves go through the proxy. --host-resolver-rules forces all DNS lookups to fail locally except for the proxy's own address, so hostname resolution happens on the proxy side as intended. A PAC (Proxy Auto-Config) file — a script that decides which proxy to use per request — loads with its own flag:
Handling an Authenticated Proxy's Username and Password
An authenticated proxy is the one case where the fields above aren't enough on their own, and it's also where most quick guides stop short. Chrome does not accept credentials embedded in the proxy address — a value like --proxy-server="http://user:pass@host:port" does not work; the browser ignores the embedded username and password rather than using them. Instead, the first time a request hits an authenticated proxy, Chrome shows its own native sign-in dialog asking for a username and password, independent of whichever setup method (OS settings or a command-line flag) supplied the host and port. That prompt reappears each time a new Chrome process starts against that proxy unless something else supplies the credentials automatically, which is the specific gap that proxy-switcher extensions are usually built to close — worth knowing before assuming a "stuck" login prompt means the proxy itself is broken.
Verify the Proxy Is Actually Active
Confirming a proxy is live means checking what Chrome is actually using, not just that a settings field has a value in it. Chrome's built-in diagnostics page shows the effective configuration directly:
chrome://net-internals/#proxy
This reports which proxy Chrome currently resolves requests through, which is more reliable than only checking an external "what's my IP" page, since it also surfaces cases where an extension or a command-line flag is silently overriding whatever was entered in the OS settings. Once the effective proxy config looks correct there, checking an external IP-echo page confirms the exit IP itself matches the proxy rather than the local connection.
Honest Limits and Security Notes
Three things are worth planning around.
First, a proxy set through OS-level settings applies to every application that reads those settings, not just Chrome — if the goal is a proxy for Chrome alone, a command-line launch flag or a dedicated browser profile is a closer fit than the system-wide setting.
Second, neither the OS settings nor the command-line flags include any rotation or scheduling; Chrome holds one proxy value until something changes it, so rotating exit IPs across requests is the proxy provider's job, not Chrome's.
Third, and worth treating as a real security consideration rather than a footnote: proxy-switcher extensions are a common way to work around the native-login-prompt friction described above, but they deserve real scrutiny before installing.
Chrome has flagged the official Proxy SwitchyOmega (V3) extension itself as a possible malware risk, as tracked in an issue filed directly against the extension's own GitHub repository, and separate reporting has documented unrelated forks impersonating popular proxy extensions to steal data.
None of that means proxy extensions are unsafe as a category — it means checking the publisher, reading the requested permissions, and preferring an extension with a maintained, verifiable source over whichever one ranks first in the Chrome Web Store search results.
Troubleshooting Common Proxy Errors
"Unable to connect to the proxy server" almost always traces back to a wrong host or port, or a firewall blocking the connection between the machine and the proxy — worth confirming both independently of Chrome before assuming the proxy itself is down.
A login prompt that keeps reappearing after entering credentials usually means the credentials are wrong or have expired, rather than a Chrome bug; checking them directly against the proxy provider's dashboard resolves this faster than retyping them into the same dialog.
A proxy that seems configured but doesn't change the visible exit IP is often a precedence issue — an extension or a command-line flag can silently override an OS-level setting, which is exactly what chrome://net-internals/#proxy is for, as covered above.
A proxy that works in one Chrome profile but not another is usually an extension-scoping issue, since extensions install per profile by default and need separate permission to run in Incognito windows.
Choosing a Proxy Provider for Chrome
A proxy is only as reliable as the account behind the host and port entered into these settings, and a free or unverified one tends to fail in the least convenient way — mid-session, with no clear error. Nstproxy is a proxy infrastructure provider built for exactly the kind of stable, authenticated setup this guide walks through, sold as pay-as-you-go traffic or prepaid packages rather than a single flat subscription. It fits both the OS-level and command-line setups above equally well, since both just need one working host, port, and credential pair.
One gateway, both protocols — Residential Lite proxies support HTTP(S) and SOCKS5 on the same connection, matching the http:// and socks5:// syntax covered in the command-line section above without a separate account or endpoint for each.
A large, real residential pool — 50M+ residential IPs across 200+ countries and regions, useful for the geo-testing and region-specific use case described earlier.
A single documented gateway — host, port, and authentication are laid out directly in Nstproxy's integration guide, so the same credentials that work in Chrome's OS-level settings also work in a --proxy-server flag or in code.
Prepaid packages — billed by traffic rather than a flat recurring seat, which suits a one-off geo-check just as well as an ongoing setup.
Take a Quick Look
Tired of a shared or free proxy dropping mid-session in Chrome? Nstproxy's residential gateway gives each session a dedicated, authenticated connection instead of a worn-out shared IP.
Setting up a proxy in Chrome is really setting up a proxy in Windows, macOS, Linux, or ChromeOS, since Chrome hands the job off to whichever operating system it's running on, with a command-line flag or an extension as the two ways to bypass that OS-level setting when needed. The platform-specific menu path matters less than knowing which of the three mechanisms — OS settings, launch flag, or extension — is actually in control at any given moment, since that's what determines whether a proxy that "isn't working" is misconfigured or simply overridden by something else. Verifying through chrome://net-internals/#proxy rather than assuming a settings field took effect, and treating an authenticated proxy's native login prompt as expected rather than broken, covers most of what trips people up here.
Q: Does Chrome have its own proxy settings, separate from Windows or macOS?
No — chrome://settings/system opens a button labeled "Open your computer's proxy settings" that hands off to the operating system's own network settings; Chrome has no proxy configuration screen of its own on desktop.
Q: Can I set up a proxy in Chrome without changing the whole computer's settings?
Yes — launching Chrome with a --proxy-server command-line flag applies only to that Chrome instance and leaves the OS-level setting untouched, and a browser extension using Chrome's proxy API can scope a proxy to one profile instead of the whole system.
Q: Why does Chrome keep asking for a proxy username and password?
Chrome doesn't accept credentials embedded in the proxy address or in the --proxy-server flag, so an authenticated proxy always triggers Chrome's own native sign-in dialog; if it keeps reappearing after you enter credentials, the credentials themselves are the most likely problem, not Chrome.
Q: Does a proxy set in Chrome affect other apps on the same computer?
If it was set through the OS-level settings that chrome://settings/system opens, yes — every app that reads the operating system's proxy configuration is affected, not just Chrome; a command-line flag or an extension, by contrast, stays scoped to Chrome.
Q: Can I use a SOCKS5 proxy in Chrome?
Yes — pass a socks5://host:port value to the --proxy-server flag (or the equivalent OS-level SOCKS proxy field on macOS), and pair it with --host-resolver-rules if hostname resolution needs to happen through the proxy rather than locally.
Q: Is it safe to use a proxy browser extension?
It depends on the specific extension rather than the category — Chrome itself has flagged the official Proxy SwitchyOmega extension as a possible malware risk, and impersonating forks have been reported stealing data, so checking the publisher, permissions, and update history before installing matters more than for most extension categories.
Q: How do I confirm my proxy is actually working in Chrome?
Open chrome://net-internals/#proxy to see the proxy configuration Chrome is actually using at that moment, then check an external IP-echo page to confirm the visible exit IP matches the proxy rather than your local connection.
Ivy Lin
Aug. 7th 2026
110M+ real IPs with 99.9% access success
Blazing-fast average response ~0.5s for high-concurrency tasks
From only $0.1/GB
Get immediate access to premium residential, datacenter, IPv6 and ISP proxy pools.