URL Encoder / Decoder

Percent-encode text for safe use in URLs and query strings, or decode it back to plain text.

Plain text

URL encoded

What this tool does

Percent-encodes text so it can travel safely inside a URL, and decodes it back again. Results update as you type.

Why encoding matters

A URL has structure: ? starts the query, & separates parameters,# starts the fragment. If your data contains those characters and you don't encode it, the server reads them as structure instead of content — so?q=fish&chips silently becomes two parameters rather than one value.

Which encoding this uses

This tool uses encodeURIComponent, which escapes everything that isn't safe in a URL value, including &, =, ?, and/. That is what you want for a query parameter or path segment. It is not the right choice for encoding a whole URL at once, since that would escape the delimiters you need to keep.

%20 versus +

You will see both for a space. The + form belongs to the olderapplication/x-www-form-urlencoded format used by HTML form submissions;%20 is correct in a URL path or query and is accepted everywhere. This tool emits%20.

FAQ

What is URL encoding?

URLs may only contain a limited set of ASCII characters. URL encoding, also called percent-encoding, replaces everything else with a % followed by its hexadecimal byte value — a space becomes %20, and a Korean character becomes several percent-escapes. It is what lets arbitrary text travel safely inside a link.

When do I need this?

Any time text goes into a URL: search queries, redirect targets, API parameters, or form values. Without encoding, characters such as &, ?, =, and # are read as URL structure rather than data, which silently truncates or corrupts the value.

Why do spaces sometimes become + instead of %20?

The + form comes from the older application/x-www-form-urlencoded format used by HTML forms. In the path or query of a modern URL, %20 is correct. This tool uses %20, which is safe in both positions.

Does this handle non-English text?

Yes. Text is encoded as UTF-8 before percent-escaping, which is what every modern browser and server expects, so Korean, emoji, and accented characters round-trip correctly.

Is my data sent anywhere?

No. Encoding and decoding run entirely in your browser using built-in functions. Nothing is uploaded, logged, or stored.