Skip to content
AZ Tools

URL Encoder / Decoder

Safely escape text for use in URLs and query strings, or decode percent-encoded URLs back to readable text — both directions, in your browser. Characters that have a special meaning in a URL, or that aren't allowed at all, are replaced by a percent sign followed by their byte value in hexadecimal (a space becomes %20). Choose component mode to encode an individual value such as a single query parameter, or full-URL mode to keep structural characters like : / ? & intact while still escaping the rest. Encoding operates on the UTF-8 bytes of each character, so accented letters and emoji are handled correctly. Nothing is uploaded; the conversion is purely local.

Output

How to use

  1. Choose Encode or Decode.
  2. Type or paste your text or URL.
  3. Use full-URL mode to preserve : / ? & = (otherwise everything is escaped).
  4. The result updates instantly.
  5. Copy the output with the Copy button.

Frequently asked questions

Component vs full-URL mode?
Component mode escapes everything (encodeURIComponent) — best for a single value. Full-URL mode keeps URL structure characters (encodeURI).
Does it handle Unicode?
Yes, non-ASCII characters are percent-encoded as UTF-8 and decoded back correctly.
Why does decoding fail?
The input contains a malformed percent sequence (for example a lone % or %ZZ).
Is anything uploaded?
No. All encoding and decoding happens locally in your browser.
Which characters actually get encoded?
Letters, digits and a small set of unreserved characters (- _ . ~) pass through untouched. Everything else — spaces, punctuation with URL meaning, and any non-ASCII character — is percent-encoded. Component mode also escapes the reserved structural characters; full-URL mode leaves them in place.
Should I use URL encoding or Base64?
They solve different problems. URL encoding keeps text mostly readable while making it safe inside a URL; Base64 turns arbitrary binary into compact text but is not URL-safe by default. For query-string values use URL encoding; for embedding binary data use Base64 (its URL-safe variant if it goes in a URL).

Guides on this topic

Related tools