URL Encoder / Decoder

Paste text to percent-encode it for a web address, or paste an encoded URL to read it in plain language again — the space becomes %20, the & becomes %26, and so on.

What URL encoding is, and what this tool does

A web address can only safely contain a limited set of characters. Spaces are forbidden, and characters like &, ?, # and = already have jobs inside a URL — the & separates one query parameter from the next, the ? starts the query, the # jumps to a section of the page. Put text containing those characters into an address as-is, and the browser cannot tell where the text ends and the address's own machinery begins. Percent-encoding is the standard fix: each unsafe character is replaced by a percent sign followed by its two-digit hexadecimal code. Press Encode for URL above and this tool encodes your text exactly the way JavaScript's encodeURIComponent — and every web platform — does it; press Decode and an encoded string comes back as readable text.

The classic example: a b&c encodes to a%20b%26c — the space became %20 and the ampersand %26, so the whole thing can sit inside a link, a search query or a form submission without breaking it.

Common percent-encodings

CharacterEncodedCharacterEncoded
space%20&%26
?%3F#%23
=%3D%%25
/%2F+%2B
@%40:%3A
é (and other non-ASCII)%C3%A9€%E2%82%AC

Letters, digits and a few marks (- _ . ~) pass through untouched. Everything else — including accented letters and emoji — is encoded as the percent-form of its UTF-8 bytes, which is why a single é becomes two codes (%C3%A9) and an emoji becomes four.

Component encoding vs whole-address encoding

This tool encodes a component — a piece of text destined to live inside a URL, such as a search term, a file name or a query value. That is the stricter and safer of the two standard operations: it encodes characters like / and ? even though they are legal elsewhere in an address, because inside a value they would be misread. The practical rule: if you are building a link like example.com/search?q=YOUR+TEXT, encode only the part you are inserting, with this tool, and paste it into the finished address. Do not run a complete working URL through the encoder — its own ://, ? and & will be encoded too, and the result will no longer work as a link. The decoder, on the other hand, is safe on anything: paste a full encoded address and it simply makes every percent-code readable again, which is how you inspect what a strange link actually says before deciding whether to click it.

Frequently asked questions

Why does a space become %20 and sometimes +?

Both mean a space. The '+' form is used in query strings produced by HTML forms (the application/x-www-form-urlencoded format); %20 is the general percent-encoding used everywhere else in an address. This encoder always produces %20, which is valid in every position.

Can I decode a complete URL with this tool?

Yes — decoding is harmless on a full address and is a good way to read what an encoded link really points to. Just do not re-encode a complete URL with the Encode button afterward; encode only the text values you insert into an address.

Why did decoding fail with 'Invalid encoded URL'?

The text contains a '%' that is not followed by two hexadecimal characters, or a percent-sequence that does not form valid UTF-8 text. That usually means the string was cut short when copied, or it was encoded twice and needs a second pass through the decoder.

Is the text I paste uploaded anywhere?

No. Encoding and decoding happen in your browser, on your device — safe for links containing search terms or values you would rather not send to a server.

Private by design: this tool runs entirely in your browser. Text you paste here is never uploaded, stored or shared.