Apple moved this setting in macOS Ventura, so half the instructions online point at a menu that no longer exists. Both paths are below.
macOS Ventura, Sonoma and later
-
Open System Settings from the Apple menu.
-
Click Network in the sidebar.
-
Click the connection you are actually using, normally Wi-Fi.
-
Click Details next to the network name.
-
Choose Proxies in the sidebar of the window that opens.
-
Tick the protocol you need (see the next section), then fill in the server and port fields that appear.
-
Click OK, then Apply.
That last Apply is easy to miss and nothing happens without it.
macOS Monterey and older
-
System Preferences, then Network.
-
Select your connection on the left, then click Advanced at the bottom right.
-
Open the Proxies tab.
-
Tick your protocol, fill in the fields, then OK and Apply.
Which checkbox to tick
This is the part that catches people, because macOS lists proxy types separately and expects you to know which one you have.
If you have a normal HTTP proxy (most of them, including nearly everything on free lists), tick both:
- Web Proxy (HTTP)
- Secure Web Proxy (HTTPS)
Put the same address and port in both. If you only tick the first one, plain http sites go through the proxy and every https site does not, which today is essentially the whole web. The proxy looks broken when it is actually working exactly as configured.
If you have a SOCKS proxy (usually port 1080, and your provider will have said SOCKS4 or SOCKS5), tick SOCKS Proxy on its own and leave the two web entries unticked.
In every case, the address goes in the left field without http:// in front, and the port goes in the small field to the right.
If your proxy needs a username and password
Under each proxy type there is a box marked Proxy server requires password. Tick it and fill in the two fields underneath.
Free public proxies do not have credentials, so leave this alone if your address came from a list.
Check that it worked
Open Safari and visit anything that reports your IP address. You should see the proxy's address rather than your own.
Test it first, though. Our proxy checker opens a real connection to the address and tells you whether it answered, which protocols it spoke, and how long it took. That last part is genuinely useful on macOS, because it tells you whether to tick the web boxes or the SOCKS one instead of guessing.
What it does not cover
Firefox ignores it. Firefox carries its own proxy settings and pays no attention to the system ones. That is deliberate on Mozilla's part, and it means Firefox is a handy way to keep one browser unproxied while everything else goes through.
Terminal mostly ignores it. curl, wget and most command line tools read the http_proxy and https_proxy environment variables rather than System Settings. Setting one does not set the other.
Turning it off
Retrace the path, untick the boxes, then OK and Apply.
Keep that in mind, because a dead proxy on macOS presents as a Mac that is connected to Wi-Fi and cannot load anything. It looks like a network fault and it is not one.
About free proxies
Anything from a public free list is very likely a machine that was misconfigured by accident rather than a service somebody is running for you, which is why they disappear so abruptly.
Our free proxy list re-tests every address continuously by opening a real connection to it, and the uptime percentage on each entry is measured rather than claimed. It still will not make a free proxy dependable, because nothing can. It just means you can see which ones are alive right now instead of finding out the hard way.