Free Tool

Proxy URL Parser & Builder

Correctly decode SOCKS5 URLs with special characters in the password, or build a URL-safe proxy string from fields. Supports socks5, socks5h, socks4a, http and https schemes plus bracketed IPv6.

Every input is saved to the URL — copy it to share the exact result.

Parser

Schemesocks5
Hostproxy.example.com
Port1080
Usernameuser
Password•••••••• (8 chars)
IPv6 hostNo
Remote DNSNo — client resolves DNS (use socks5h to avoid DNS leaks)

Builder

socks5://:1080

01 · Overview

What is the SOCKS5 Proxy URL Parser & Builder?

The SOCKS5 Proxy URL Parser & Builder converts between the compact 'socks5h://user:pass@host:port' string that libraries like cURL, requests, aiohttp and axios expect, and the individual fields your provider's dashboard exposes. It handles URL encoding, IPv6 bracket notation and the crucial socks5 vs. socks5h distinction that controls DNS routing.

02 · How it works

How the tool works

  1. 01Paste a proxy URL and every field (scheme, username, password, host, port) is populated automatically.
  2. 02Or fill the fields manually and the URL is assembled with correct percent-encoding for special characters.
  3. 03IPv6 hosts are auto-bracketed. Passwords containing @, : or / are percent-encoded on-the-fly.
  4. 04Switch scheme between socks5 (local DNS resolution) and socks5h (remote DNS resolution) with one click.

03 · Use cases

When to use this tool

Onboard new provider credentials

Providers hand you host/port/user/pass separately — build the URL once and paste into every library.

Fix DNS leaks

Toggle socks5h:// to force hostname resolution through the proxy and stop your ISP from seeing your target domains.

Debug library errors

Some libraries reject %-encoded passwords. Round-trip through the parser to spot mis-encodings.

Migrate between providers

Parse an old URL, swap the host to your new provider, rebuild — done.

04 · Pro tips

Best practices

  • Prefer socks5h:// for scraping — DNS leaks are the #1 source of soft blocks on JS-heavy targets.
  • Rotating session usernames like 'user-session-12345' are opaque — do not URL-encode the hyphens.
  • For IPv6, always wrap in brackets: socks5h://u:p@[2001:db8::1]:1080.
  • Never commit proxy URLs to git — use environment variables like $PROXY_URL.

05 · FAQ

Frequently asked questions

What is the difference between socks5:// and socks5h://?+

socks5:// resolves the target hostname locally on your machine before opening the tunnel — leaking the domain to your ISP's DNS resolver. socks5h:// (the 'h' stands for hostname) tells the client to send the raw hostname to the proxy, which resolves it on the exit side. Always prefer socks5h:// for privacy or scraping.

How do I URL-encode special characters in a SOCKS5 password?+

Percent-encode any reserved character: @ becomes %40, : becomes %3A, / becomes %2F, # becomes %23. Example: password 'p@ss:1' becomes 'p%40ss%3A1' in the URL. The builder does this automatically when you type into the password field.

Does the parser handle IPv6 SOCKS5 endpoints?+

Yes. IPv6 hosts must be wrapped in square brackets — socks5h://user:pass@[2001:db8::1]:1080 — otherwise the colons collide with the port separator. The parser detects and preserves the brackets, and the builder auto-brackets any IPv6 address you enter into the host field.

What is the correct SOCKS5 URL format for cURL, Python and Node?+

All three accept the same shape: scheme://username:password@host:port. cURL uses --proxy or -x, Python requests uses the proxies={'http':...,'https':...} dict, and Node uses socks-proxy-agent. Build the URL once here and paste it into each client — no per-library reformat needed.

Can I omit the username and password for open proxies?+

Yes. socks5h://host:port is a valid URL. The parser will populate host and port and leave username/password empty. Never use unauthenticated public SOCKS5 endpoints for anything sensitive — they are almost always honeypots or overloaded.

How do I add a sticky session or country parameter to my SOCKS5 URL?+

Rotating providers encode session/country parameters into the username. Example: socks5h://user-country-us-session-abc123:pass@gate.provider.com:7777. The parser preserves any user string verbatim. Check your provider's docs for the exact schema (some use dashes, some use colons).

Why does my proxy URL fail with 'Invalid URL' in some libraries?+

Common causes: (1) missing scheme (socks5h:// prefix), (2) unencoded special characters in the password, (3) trailing whitespace, (4) forgotten IPv6 brackets. Paste the offending URL into the parser — it highlights the exact character or field that broke validation.

Is a shared parser URL safe to send to a teammate?+

The parser encodes all fields into the URL by default, including credentials. Never share the URL over public chat if it contains real credentials. For teammate onboarding, share the URL with placeholder credentials and let them substitute their own from your password manager.

How do I convert a http:// proxy URL into a socks5:// URL?+

You cannot — HTTP and SOCKS5 are different wire protocols on different ports. If a provider offers both, they'll expose separate credentials (often the same user/pass, different host or port). Paste each URL into the parser separately to normalize them.

What port should I use for a SOCKS5 proxy?+

There is no standard reserved port — 1080 is a common convention for open proxies. Commercial providers typically use 7777, 9000, 10000, 22225, or custom ports per plan. Always use the exact port from your provider's dashboard; guessing will produce silent connection failures.

Can the parser detect if my SOCKS5 URL is missing the socks5h scheme?+

Yes — the tool warns whenever a URL uses socks5:// (local DNS resolution) instead of socks5h:// (remote resolution). Click 'Upgrade to socks5h' to rewrite the URL and copy the safer version. Most rotating residential providers require socks5h to avoid DNS leaks that break sticky sessions.

How do I encode Unicode or emoji in a SOCKS5 username?+

Providers rarely allow non-ASCII in credentials, but if yours does, percent-encode the UTF-8 bytes. Example: 用户 becomes %E7%94%A8%E6%88%B7. The builder does this automatically when you paste the raw string. If your client library rejects the URL, verify it supports UTF-8 percent-encoding.

Does the parser validate that host:port is actually reachable?+

No — parsing is syntactic. It verifies the URL is well-formed and normalizes fields, but it does not open a network connection. To test reachability, feed the parsed URL into the Latency Test tool or the cURL Generator's curl output and run it locally.

How should I store a SOCKS5 URL in environment variables or CI secrets?+

Store the full socks5h:// URL as a single secret (PROXY_URL) rather than splitting host/port/user/pass into four variables. This keeps the encoding invariant and lets you rotate credentials by updating one value. Reference it as $PROXY_URL in curl, requests or Node — the parser output is the exact shape you want.

06 · Deep dive

SOCKS5 Proxy URL Parser & Builder — questions we answer

How to format a SOCKS5 proxy URL with username and password

The correct format is scheme://username:password@host:port. Example: socks5h://acme_user_1:s3cret@gate.provider.com:7777. Percent-encode any @ (%40), : (%3A) or / (%2F) that appears in the password. Use the parser to test any candidate URL — it will reject malformed strings and highlight the exact character that broke it.

SOCKS5 vs SOCKS5h — which scheme should I use to prevent DNS leaks?

socks5:// tells the client to resolve the target hostname locally (leaking the domain to your ISP) and forward only the resolved IP to the proxy. socks5h:// asks the proxy to resolve the hostname itself, keeping DNS traffic private. For any privacy or scraping use case, always prefer socks5h://. This tool switches schemes with one click and updates the generated URL in place.

How to build a SOCKS5 URL for an IPv6 proxy endpoint

IPv6 addresses contain colons, which conflict with the URL host:port separator. Wrap the address in square brackets: socks5h://user:pass@[2001:db8:85a3::8a2e:370:7334]:1080. The builder auto-brackets any IPv6 host you paste into the host field.

07 · Related tools

Continue your audit

Also known as

socks5 url parsersocks5 vs socks5hproxy url encodersocks5 authentication formatbuild socks5 urlipv6 socks5 url