What is URL encoding?
A URL can only safely contain a specific set of ASCII characters. Anything else — a space, an accented letter, or a symbol like & or = appearing inside a value rather than as part of the URL's own structure — has to be represented as a % followed by two hex digits (its byte value). A space becomes %20; "café" becomes caf%C3%A9. This is called percent-encoding, and it's what makes it safe to put arbitrary text — a search term, a name, a URL itself — inside a URL without breaking it.
What can you do with this tool?
- URL Encode — turn plain text or a raw value into its safely percent-encoded form.
- URL Decode — turn a percent-encoded string back into readable text.
- Swap — move the current output into the input and flip modes, for quick back-and-forth checking.
- + for spaces toggle — switch between
%20(general percent-encoding) and+(form/query-string encoding) for spaces specifically.
Supported characters and edge cases
Handles spaces, reserved characters (&, =, ?, #, +), and any Unicode text correctly, using the browser's native encodeURIComponent/decodeURIComponent — not a hand-written character-replacement table, which is exactly the kind of ad-hoc approach that quietly breaks on Unicode or an unusual symbol.
When should you use it?
Use URL Encode when you're building a query string or URL by hand and need a value (a search term, a name with spaces or accents) to survive inside it safely. Use URL Decode when you've been handed an encoded URL or query parameter and want to read what it actually says.
Limitations
- This encodes a single value at a time (a query parameter, a path segment) rather than parsing and selectively encoding parts of a full URL — paste one value, not a whole multi-parameter URL, for the most predictable result.
- Decoding text that isn't validly percent-encoded produces a clear error rather than a guess.
