Skip to content
AZ Tools

URL Encoder / Decoder

Percent-encode text for URLs, or decode encoded URLs back to text.

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.

About this tool

Show

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.

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