URL Encoder / Decoder
Percent-encode and decode URLs and query string components.
Choose a mode, paste your text, and hit the button. The output appears below and live-previews as you type.
Modes
- Encode Component — use for individual query parameter values. Encodes everything except
A–Z a–z 0–9 - _ . ! ~ * ' ( ). This is the most common mode. - Encode URI — use when encoding a complete URL. Preserves
: / ? # [ ] @ ! $ & ' ( ) * + , ; =which have structural meaning in a URL. - Decode — converts
%XXsequences and+signs (treated as spaces) back to readable text.
URLs can only safely carry a limited set of ASCII characters. Any character outside that set — spaces, accented letters, symbols like & or = — must be percent-encoded: replaced by % followed by two hex digits. The space character becomes %20, an ampersand becomes %26, and so on.
Encode Component vs Encode URL
Use Encode Component for values inside query strings — it encodes &, =, /, and ? so they don't break the URL structure. Use Encode URL for a full URL you want to preserve — it leaves structural characters like :// and ? untouched.
Common encodings
Space → %20, & → %26, = → %3D, + → %2B, / → %2F, ? → %3F, # → %23. Letters, digits, and - _ . ~ are never encoded.
+ vs %20
Both represent a space, but in different contexts. + is the HTML form encoding (only valid in query strings). %20 is the RFC-standard encoding valid everywhere, including URL paths. When in doubt, use %20. This decoder treats both as spaces.
When to decode
Paste encoded URLs from server logs, redirect chains, or link previews to read them clearly. %C3%A9 is é, %E2%80%99 is '. Decode before editing a URL, then re-encode after making changes so the modified URL stays valid.