Percent-Encode a URL or Read One Back

Escape spaces, ampersands and non-Latin characters for safe use in a link, or decode percent-encoded strings into readable text.

About this tool

A URL accepts only a narrow set of characters. Spaces, ampersands, slashes and any non-Latin script have to be replaced with percent escapes before the browser can use them reliably.

Choose the matching mode: one for a single parameter value, one for a complete address. The encoded or decoded result is ready to paste into your code, curl command or form.

  • Encode a value or a full link
  • Decode percent escapes back to readable text
  • Unicode-safe, including CJK and emoji

Frequently asked questions

Should I encode the whole URL or just one value?
Encode a single value when building a query parameter. Encode a whole URL only when it will be nested inside another URL as a parameter.
Why does my link show %E4%B8%AD instead of a character?
Each non-ASCII character is stored as UTF-8 bytes, and every byte becomes a percent escape. Decoding turns them back into the original character.
What does a plus sign mean in a query string?
In form-encoded data a plus represents a space, while in a URL path it stays a literal plus. Use percent encoding rather than plus for values.

Related tools