Skip to content

Free tool

Proxy format converter

Paste a proxy list in any common layout and convert it to proxy URLs, another list format, curl commands, Python requests settings, environment variables or JSON.

No account needed. Conversion runs in your browser: the list is not uploaded or stored.

Your proxy list

One proxy per line. Blank lines and lines starting with # are skipped.

Accepts host:port, host:port:user:pass, user:pass@host:port, user:pass:host:port and http, https, socks5 or socks5h URLs. Put IPv6 addresses in square brackets.

Auto cannot always tell host:port:user:pass from user:pass:host:port. If a line is reported as ambiguous, choose the order here.

One proxy URL per line. Credentials are percent-encoded.

Use socks5h to have the proxy resolve hostnames. The scheme must match what the proxy port speaks.

Converted list

Paste a list to convert it.

Conversion runs in this page’s JavaScript. Your list is not uploaded, saved or added to the page address, and the tool makes no network request with it. Spell-check is off for both boxes.

Proxy list formats

The same proxy, written five ways.

Every format carries the same four values: host, port, and an optional username and password. URL formats add the scheme. The examples use documentation addresses and fake logins.

Proxy list formats with an example of each
FormatExampleNotes
host:port192.0.2.10:8080No login. Used for proxies that authorise by source address, or when credentials are configured separately.
host:port:user:pass192.0.2.11:8080:demo-user:example-passA common list layout. Credentials are raw text, so a username cannot contain a colon.
user:pass@host:portdemo-user:example-pass@198.51.100.7:1080Looks like a URL without the scheme. In a list it usually carries raw credentials; the converter splits at the last @.
user:pass:host:portdemo-user:example-pass:198.51.100.7:1080Same fields in the opposite order. Easy to confuse with host:port:user:pass, so choose the input format when a line is ambiguous.
scheme://user:pass@host:portsocks5h://demo-user:example%2Fpass@203.0.113.5:1080A proxy URL. The scheme names the protocol spoken to the proxy, and credentials are percent-encoded.

For the parts of a proxy URL and how clients read them, see the proxy URL format guide.

Credentials in a URL

Why passwords need percent-encoding.

Inside a URL, @, :, /, ? and # separate its parts. If a password contains one of them unencoded, a client can read the wrong host, port or password. Percent-encoding writes each such character as % plus its byte value, so it stays part of the credential.

Encode the original username and password once, then assemble the URL. A literal % in a password becomes %25. Encoding an already encoded value again changes what the client sends.

List formats without a scheme hold raw credentials, so the converter decodes when it reads a URL and encodes when it writes one. Clients with separate username and password fields take the raw values.

Raw password to URL

Raw password
p@ss:w/rd%
Encoded
p%40ss%3Aw%2Frd%25
Proxy URL
http://demo-user:p%40ss%3Aw%2Frd%25@192.0.2.11:8080

Choosing a scheme

socks5 or socks5h: where DNS happens.

With socks5://, many clients, including curl, resolve the destination hostname on your machine and send the proxy an IP address. With socks5h://, the client sends the hostname and the proxy resolves it. Use socks5h when name resolution should happen at the proxy, for example when testing how a site responds from the proxy’s location.

http:// means plain HTTP to the proxy, which tunnels HTTPS destinations with CONNECT. https:// means the connection to the proxy itself uses TLS, which needs a proxy port and client that support it. Changing the scheme does not change what the port speaks: use the scheme your provider documents for that port.

Compare the protocols in HTTP vs SOCKS5 proxies, then check a converted line with a curl proxy test.

Privacy

What happens to the list you paste.

  • Converted in the page

    Parsing and formatting run in your browser’s JavaScript. Nothing is sent to a server for conversion, and the converter makes no network request with your input.

  • Not stored

    The list is not saved to the page address, browser storage or an account. Reloading the page clears both boxes.

  • You choose where it goes

    Copy and download act only on the output you see. Treat that output like any other credential file.

Continue

Use the converted list.