Encode
Decode
Inputhello world & more
Encodedhello%20world%20%26%20more

The formula

unsafe char%HH\text{unsafe char} \rightarrow \%HH
%HH — a percent sign plus the two-digit hex code of the byte
encode — make text safe for a URL
decode — turn it back into plain text

How it works

Encode text so it is safe to put in a web address, or decode a percent-encoded string back to normal. Enter the text, choose encode or decode, and the result appears instantly.

FAQ

Why does a URL need encoding?

URLs may only contain a limited set of characters. Spaces, ampersands, question marks and many symbols have special meanings or are not allowed, so they are replaced with a percent sign and a code — a space becomes %20, for example. Encoding lets any text, including other languages, travel safely inside a link.

What is the difference from encoding the whole URL?

This encodes text as a URL component — a query value or path segment — so it also escapes characters like & and = that separate parts of a URL. Encoding an entire URL would leave those structural characters intact. Use component encoding for values you are inserting into a URL.

Why does a space sometimes become “+” instead of “%20”?

Both represent a space, but in different contexts: “%20” is standard percent-encoding used in path and query values, while “+” is a convention specific to form submissions (application/x-www-form-urlencoded). This tool decodes “+” as a space for compatibility, and encodes spaces as “%20”.

Is URL encoding the same as Base64 encoding?

No. URL encoding escapes specific unsafe characters while leaving the rest of the text readable, whereas Base64 rewrites the entire input into a different character set. They solve different problems and are not interchangeable.

Does encoding change the meaning of my text?

No — encoding is reversible and only changes how the text is represented, not what it says. Decoding an encoded string always returns exactly the original text, as long as it was encoded correctly in the first place.

Which characters are left unencoded?

Letters (A–Z, a–z), digits (0–9) and a small set of punctuation marks — such as hyphen, underscore, period and tilde — are considered safe and left as they are. Everything else, including spaces and most symbols, gets percent-encoded.

Can I encode or decode an entire URL, not just part of it?

You can, but be careful: encoding a full URL including “http://” and slashes will also escape those structural characters, which most servers will not interpret correctly as a link. It is safer to encode only the parts — like a search term or filename — that get inserted into the URL.

About the URL encode / decode tool

This tool converts text to and from percent-encoding, the scheme that lets arbitrary text be carried safely inside a web address. Encoding replaces spaces, punctuation and non-English characters with percent-code equivalents; decoding reverses the process to reveal the original text. It runs entirely in your browser and handles full Unicode, so any language encodes correctly.

How to use it

Paste or type your text, then choose Encode to make it URL-safe or Decode to turn an encoded string back into plain text. The result appears immediately. For example, “hello world & more” encodes to “hello%20world%20%26%20more”, and decoding that same string returns the original phrase exactly.

The formula

Encoding replaces each unsafe character with a percent sign followed by the two-digit hexadecimal code of its byte, char%HH\text{char} \rightarrow \%HH. Characters outside the safe set — letters, digits and a few marks — are all escaped this way, and multi-byte Unicode characters become several percent-codes. Decoding reads each %HH back into the byte it represents and reassembles the text.

Where it is used

Developers use it constantly when building links, query strings and API requests, where a stray space or ampersand would break the URL. It is handy for debugging — decoding a messy-looking link to read it, or encoding a value before pasting it into a URL by hand. Anyone working with web addresses, forms or APIs reaches for URL encoding regularly.