Skip to main content

    Proxy Converter

    Convert a proxy list to the format you need: ip:port:user:pass, user:pass@ip:port, URI for curl and Python and more. The conversion runs in your browser; the list is never sent anywhere.

    How it works

    How the converter works

    1. Paste the list

      One line, one proxy. The format is detected for each line automatically, or you can set it yourself. You can also upload a .txt file.

    2. Choose the target format

      ip:port, ip:port:user:pass, user:pass@ip:port, user:pass:ip:port, ip:port@user:pass or a URI with http, https, socks4 or socks5.

    3. Copy the result

      The converted list updates instantly: copy it or download it as a file. The conversion runs in your browser; the list and passwords are never sent anywhere.

    Result

    Supported formats

    ip:port

    Proxies without a login or with IP-based access. Converting to this format drops the login and password.

    ip:port:user:pass and user:pass:ip:port

    The most common formats in proxy seller lists and antidetect browsers. If the password contains a colon, choose ip:port:user:pass or a URI.

    user:pass@ip:port and ip:port@user:pass

    The @-separated format that browser extensions and many scrapers understand. An @ in the password is fine: the address is taken after the last @, in a URI too.

    URI

    protocol://user:pass@ip:port is the format for curl, Python requests and most libraries. The login and password are encoded, so special characters in them don't break the address.

    FAQ

    Questions and answers

    Is my list sent to a server?

    No. The conversion runs in your browser; the proxy list with its logins and passwords never leaves your device.

    How is the format detected automatically?

    Line by line: a line with :// is read as a URI, a line with @ by which side holds the address and port, a line of four colon-separated parts by where the host and port are. If a line can be read two ways, e.g. the login looks like a domain and the password like a port, the format is taken from the other lines of the list. If nothing helps, the line goes to the unrecognized list; then choose the input format yourself.

    Which format do curl and Python need?

    A URI, e.g. socks5://user:pass@host:port. curl takes it in the -x option, Python requests in the proxies dictionary for http and https.

    Can I use a domain instead of an IP?

    Yes, the host can be an IPv4 address, a domain name, including punycode zones such as xn--p1ai (.рф), or a gateway name like localhost. IPv6 addresses are not supported yet.

    Why are some lines not recognized?

    Usually a space inside the line, a port outside 1-65535 or another separator such as a semicolon. Fix the line or choose the input format yourself. Lines that parse but can't be written in the chosen format without loss are listed separately: a colon in the login, for instance, breaks every user:pass format, so use a URI for them.

    Need mobile proxies?

    Create a mobile proxy from your own Android phone: HTTP and SOCKS5, carrier IP, IP change by a button or a link.