URL Encode
Safe URL & Parameter Encoding
What is URL Encode?
URLs have a restricted alphabet: letters, digits, and a handful of symbols travel freely, but spaces, ampersands, question marks, and non-ASCII characters must be disguised. The URL Encode tool applies that disguise, converting "hello world" into "hello%20world" — replacing every forbidden character with a % followed by its two-digit hex byte value.
Encoding is mandatory whenever dynamic text enters a URL. A search box submits "fish & chips" as "fish%20%26%20chips"; a filename with spaces becomes a downloadable link only after encoding; non-English path segments travel as percent-encoded UTF-8. Skip this step and servers misread your parameters, truncate your paths, or reject the request outright.
How to use
- Type or paste the text you need inside a URL — a search term, a filename, a full address with spaces, or a query value.
- The encoder walks through the text byte by byte (UTF-8), leaving unreserved characters (A–Z, a–z, 0–9, -, _, ., ~) untouched.
- Click encode. Every other byte becomes %XX: spaces turn into %20, "&" into %26, and "é" into the two triplets %C3%A9.
- Copy the encoded result and place it in your href, API call, or redirect where the raw text would break.
Common use cases
- Building query strings: User input containing &, =, or spaces would corrupt a "?q=..." parameter. Encoding it first keeps each value intact and correctly delimited.
- Linking to files: "Q3 Report (final).pdf" is not a valid URL path as-is. Encoding produces a link every browser and server resolves correctly.
- API requests: REST calls with search terms, filters, or callbacks in the URL need encoding, or the server parses the parameters wrong.
- Redirect targets: Passing a return URL as a parameter ("?next=/a b") requires encoding the inner URL so the outer one stays parseable.
Example
Input: fish & chips = £5 Output: fish%20%26%20chips%20%3D%20%C2%A35
FAQs
Which characters are left unencoded?
The unreserved set defined by the URL standard: letters, digits, hyphen, underscore, period, and tilde. Everything else — including reserved characters like /, ?, and # when they appear inside a value rather than as URL structure — gets encoded.
Should spaces become %20 or +?
In URL paths, always %20. The + form means space only in form-encoded query strings (the format browsers use when submitting forms). This tool emits %20, which is correct everywhere; convert to + only if a legacy form handler specifically demands it.
Why is "é" three characters in the output?
Because encoding works on bytes: UTF-8 represents "é" as two bytes (C3 A9), each becoming its own % triplet. The encoded form is longer, but decoding reassembles the bytes into the original character exactly.
What if my text is already encoded?
Encoding it again double-encodes: "%20" becomes "%2520". Browsers then decode only one layer, leaving literal "%20" text in your page. If output shows %25 sequences you did not expect, your input was already encoded — decode first, then encode once.