Chrome does not have proxy settings. This surprises people, because there is a page in Chrome's settings that looks exactly like it should.
What that page actually contains is a button that opens your operating system's proxy panel. Chrome then uses whatever it finds there. So "setting a proxy in Chrome" means setting one for your whole computer, unless you take a different route entirely.
What Chrome's proxy button does
If you go looking, it is at Settings, then System, then Open your computer's proxy settings. Or paste chrome://settings/system into the address bar.
Clicking it hands you off:
- Windows opens Settings, Network and internet, Proxy
- macOS opens System Settings, Network, Details, Proxies
- Linux opens your desktop's network panel, or occasionally nothing at all
Whatever you set there applies to Chrome, Edge, and most other software on the machine. It does not apply to Firefox, which keeps its own settings.
We have the full walkthrough for each system:
Proxying Chrome and nothing else
This is what most people actually want, and it needs an extension.
FoxyProxy and SwitchyOmega are both free, both hold several proxies at once, and both switch between them from the toolbar. They apply inside Chrome only, so the rest of your computer carries on untouched. They also handle usernames and passwords properly, and they can route chosen sites through the proxy while everything else goes direct.
If you are going to use a proxy in Chrome regularly, start there rather than with the system setting. We have separate walkthroughs for both extensions.
The command line option
For a one-off test, you can launch Chrome with a proxy attached to that instance:
# macOS
open -a "Google Chrome" --args --proxy-server="203.0.113.10:8080"
# Windows (Command Prompt)
start chrome --proxy-server="203.0.113.10:8080"
Chrome has to be fully closed first or it will just open a new window in the existing session and ignore the flag.
The catch is authentication: this flag has nowhere to put a username and password, so it only works with proxies that need none. That makes it a reasonable fit for testing an address off a free list and a poor fit for anything paid.
Check that it worked
Visit any page that reports your IP address and confirm it shows the proxy rather than you.
Worth testing the proxy on its own first. Our proxy checker opens a real connection to the address and reports whether it answered, which protocols it spoke and how long it took. Chrome's own errors are famously unhelpful here: ERR_PROXY_CONNECTION_FAILED covers a dead proxy, a wrong port and a proxy that wanted credentials, without distinguishing between them.
When Chrome says the proxy is not working
ERR_PROXY_CONNECTION_FAILED. Chrome could not use the proxy. Dead, wrong port, or expecting a login. Test the address separately to find out which.
ERR_TUNNEL_CONNECTION_FAILED. The proxy accepted the connection but could not or would not open a tunnel to the site. Common on free proxies that handle plain http and refuse https.
"An extension is controlling this setting." An extension has taken over Chrome's proxy configuration. Chrome names it right there on the settings page. If it is not one you installed deliberately, that is worth looking into.
About free proxies
Almost everything on a public free list is a machine that was left open by mistake. They go offline abruptly and often.
Our free proxy list tests every address continuously by opening a real connection to it, so the uptime figure next to each entry is measured rather than advertised. That tells you which are answering right now. It does not make any of them dependable, and no list can.