My Tool Studio
Developer Tools·2 min read

URL Encoding Explained: Encode and Decode Links

Spaces, ampersands and accented letters break links unless they are encoded. The URL Encoder / Decoder does both jobs in your browser. Paste a value and click Encode to make it safe inside a URL, or paste a link full of %20 and %3D escapes and click Decode to read it, with every query parameter laid out in a table.

Hello WorldHello%20World%21URL

Encode a value or a full URL

Two modes for two jobs.

By default, Encode works in Query value / component mode. It escapes everything except letters, digits and - _ . ~, which is right for a single query value or path segment. It matches JavaScript's encodeURIComponent and also escapes ! ' ( ) and *, so the output keeps to the RFC 3986 unreserved set.

Switch Encode as to Full URL when a whole link only needs its spaces and accented letters fixed. That mode keeps the : / ? & and = that give a link its structure, like encodeURI. Encoding a complete link in value mode escapes the :// and every /, which breaks it.

Why values need encoding

Characters with a job to do.

The usual troublemakers are &, =, ?, #, + and spaces, because each has a meaning in URL syntax. If a user searches for soap & glory and you pass that along raw, the server reads glory as a separate parameter. Encoding the value first keeps it in one piece. A space becomes %20 and é becomes %C3%A9.

Plus signs and form data

The + versus %20 question.

HTML forms sent with the default form encoding use + for spaces. In the path of a URL, + is just a plus sign. Tick Spaces as + only when you work with form data or a query string built that way. On decode, the same box turns + back into spaces.

Reading tracking links and fixing errors

Where decoding earns its keep.

Paste a UTM or redirect link and a Query parameters table lists every key, such as utm_source or gclid, with its decoded value and its own Copy button. Copy as JSON gives all the parameters as one object. Redirect links often carry a whole second URL as one encoded parameter, and the table shows it in readable form.

A broken escape, such as a lone % or a link cut off in the middle of one, gets an error that points to its position. Replace a literal % with %25, or copy the full link again. If you see %2520, the text was encoded twice. After you click Decode, a Still percent-encoded notice appears with a Decode until clean button, which keeps decoding until no escapes are left. Then encode once.

Lists, live mode and old character sets

Options for the less common jobs.

Tick Each line separately to encode or decode a list of values in one go, or Live mode to convert as you type. The Character set menu covers legacy systems that expect Latin-1 or Windows-1252, where é becomes %E9 instead of %C3%A9. If a decoded value shows odd characters such as é, it was encoded in one set and decoded in another, so decode again with the other set.

URL encoding versus Base64 and HTML encoding

Three kinds of encoding.

URL encoding makes text safe inside a link. Base64 turns bytes into a 64-character alphabet for transport, and HTML encoding turns characters like < and & into entities for web pages. For those jobs, use the Base64 Decode and Encode tool or the HTML Encoder / Decoder.

Try it now

Open URL Encoder / Decoder

The tool is one click away. No sign up, no upload, no payment.

Open URL Encoder / Decoder