URL Encode / Decode

Percent-encode text for URLs or decode encoded URLs.

0 chars
0 words
0 lines
0 chars
0 words
0 lines

URL Encoder and Decoder Online

Paste a link, a query-string value, or a whole list of parameters and this tool percent-encodes it for safe use in a URL — or decodes an encoded URL back into something a human can read. Conversion happens in your browser as you type, and nothing is sent anywhere.

What is URL encoding?

URLs may only contain a limited set of ASCII characters. Everything else — spaces, accented letters, emoji, and characters that have a special meaning in a URL such as &, =, ? and # — must be written as percent-encoded bytes. The text is first converted to UTF-8, then each byte becomes % followed by two hex digits. A space turns into %20, & into %26, and é (two UTF-8 bytes) into %C3%A9. This is defined in RFC 3986, and it's why you see long strings of percent signs in shared links.

Encoding modes

  • Component – the behaviour of JavaScript's encodeURIComponent(). Use it for a single parameter value: fish & chips becomes fish%20%26%20chips, so the ampersand no longer splits the query string.
  • Full URL – like encodeURI(). It keeps :/?#&= so the address still works, and only escapes spaces and non-ASCII characters.
  • Form data – the application/x-www-form-urlencoded format used by HTML forms, where spaces become +.
  • Every character – percent-encodes every byte, even letters. Handy for testing parsers or making a value unreadable at a glance (it's not a security measure).

Turn on Encode each line separately to process a list of values while keeping one result per line.

Decoding

The decoder turns %XX sequences back into characters and, with Treat + as space enabled, converts plus signs from form submissions into spaces. Disable it when a literal + matters, for example in a phone number or a Base64 value. Invalid sequences are reported with their position.

Typical uses

Building API requests by hand, debugging redirect and callback URLs, reading tracking links, and preparing UTM parameters. To extract the real destination from Google or Facebook redirect links, try Un Google Link; for internationalized domain names, use the Punycode Converter.

Frequently Asked Questions

Use Component when you encode a single value that goes inside a URL, such as a search term or a redirect target — it escapes / ? & = # too. Use Full URL when you have a complete address and only want to fix spaces and non-ASCII characters while keeping its structure intact.

%20 is the standard percent-encoding of a space and works everywhere in a URL. The + sign only means a space in HTML form data (application/x-www-form-urlencoded), which is what browsers send for query strings from forms. Pick Form data mode to produce +, and keep “Treat + as space” on when decoding such strings.

A % sign must always be followed by two hexadecimal digits, like %2F. A lone % or something like %G1 can't be decoded. If the text contains a literal percent sign, it should have been encoded as %25.

Yes. Turn on “Encode each line separately” and every line is encoded on its own, so the line breaks are kept instead of turning into %0A.