URL Encoder & Decoder
?About this tool, how to use it, and FAQ▾
What is URL encoding?
URLs can only contain a limited character set, so spaces, non-ASCII characters, and reserved symbols like ?, &, =, and # must be percent-encoded — replaced with % followed by their byte value in hex (a space becomes %20). This tool encodes text for safe use in URLs and decodes encoded URLs back to readable text.
It is essential when building query strings by hand, debugging redirect chains, or reading the real destination hidden inside a tracking link.
How to use
- Paste the text or URL fragment to convert.
- Choose encode to make it URL-safe, or decode to make an encoded string readable.
- For query strings, encode parameter values individually so the separators (& and =) keep their meaning.
Frequently asked questions
When do I need to URL-encode a value?
Whenever a value goes into a URL and might contain characters with special meaning: spaces, &, =, ?, #, +, slashes in a path segment, or any non-ASCII text. Encoding the whole URL at once breaks it — encode the individual values.
Why did my plus signs turn into spaces?
In the query-string form encoding (application/x-www-form-urlencoded), + historically represents a space. In the path portion of a URL a + is literal. If a decoded value has unexpected spaces, the source likely used form encoding.
What is double encoding and why does it break things?
Encoding an already-encoded string turns %20 into %2520 (the % itself gets encoded). Servers then decode it once and see %20 as literal text. If you see %25 sequences in a URL, something in the chain encoded twice.