URL Encoder & Decoder Free — Encode Special Characters
Encode and decode URLs with precision. Multi-mode handling for components and deep query string parsing.
URL Encoding FAQ
Why URLs Fill Up With %20
The characters that must be encoded
URLs only allow a limited character set — everything else gets percent-encoded so servers don't misread it:
| Character | Encoded | Why it breaks URLs |
|---|---|---|
| space | %20 (or + in queries) | Spaces end the URL for many parsers |
| & | %26 | Separates query parameters — a literal & splits your value |
| ? | %3F | Starts the query string |
| # | %23 | Starts the fragment — everything after is dropped from requests |
| / | %2F | Path separator — encode it inside parameter values |
| Urdu / non-ASCII text | UTF-8 percent sequences | Standard transport for international text |
The bug pattern: encoding the wrong amount
Two failure modes account for most URL bugs. Under-encoding: building a link where a parameter value contains & — the server sees a second parameter and your value is silently truncated. Double-encoding: encoding an already-encoded string, turning %20 into %2520 — the page then searches for the literal text “%20”. The rule: encode parameter values exactly once, at the moment you assemble the URL, never the whole URL after assembly.
Decode to debug
When a long URL misbehaves, decode it here and read it like prose — truncated values, doubled encodings and broken parameters become obvious. Building tracking links with several parameters is cleaner in the UTM builder, which encodes as it assembles. Human-readable URL paths are the slug generator's job, and binary-safe text transport is Base64 — a different encoding for a different problem.