URL Encoder / Decoder

Percent-encode or decode text and URLs, and inspect or edit a URL's query parameters. Runs entirely in your browser.

Paste a URL or text → choose encode or decode → copy the safe version.

Paste a URL or text to encode or decode it — everything runs locally in your browser and nothing is uploaded.

Query parameter inspector

Paste a full URL to break it into editable parameters, then rebuild it.

Frequently asked questions

What's the difference between the two encode modes?

encodeURIComponent escapes all reserved characters (& ? = / etc.), for encoding a single value. encodeURI keeps URL-structure characters intact, for encoding a whole URL. The checkbox switches between them.

Why does decode turn + into a space?

In application/x-www-form-urlencoded data (query strings from forms), spaces are encoded as +. The decoder converts + back to a space so form values read correctly.

Can I edit query parameters?

Yes. Paste a full URL into the inspector and it breaks out each parameter into editable fields. Change, add or remove them and the rebuilt, correctly-encoded URL updates live.

Is anything sent to a server?

No. All encoding, decoding and URL parsing happens in your browser with native JavaScript. Nothing is transmitted.

Encode vs. encode-component

About URL encoding and decoding

URLs can only contain a limited set of characters, so spaces, accents and symbols must be 'percent-encoded' — a space becomes %20, for example. This tool encodes text so it's safe to put in a URL, and decodes percent-encoded URLs back to readable text.

It runs in your browser; nothing is uploaded.

Common uses

Use it carefully

Encode the individual values in a URL, not the whole URL at once — encoding the slashes and colons of a full address will break it. If you're not sure which part to encode, encode just the piece that goes after a = in the query string.

Understanding your results

Encoding replaces unsafe characters with percent codes: spaces become %20, an ampersand becomes %26, and so on. The result is safe to drop into a URL.

CHARACTER PERCENT CODE (space) %20 & %26 ? %3F Each unsafe byte becomes % followed by its two-digit hex value.
A URL can only hold a limited set of characters, so anything else is replaced by "%" plus the character's hexadecimal byte value — that's why a space becomes %20.

Decoding turns those codes back into the characters they represent, making a tangled link readable again.

When do I need to URL-encode something?

Whenever a value in a URL contains a space, an accent, or a symbol like & or ? that has special meaning.

Should I encode the whole URL?

No — encode only the values (usually the parts after = in the query string), or you'll break the address.

Is my text sent anywhere?

No. Encoding and decoding happen in your browser.

URL encoding is not encryption. URL encoding changes how characters are represented so they travel safely inside a link — for example, red & blue becomes red%20%26%20blue because & has a special meaning inside a query string. It does not protect or hide sensitive information; anyone with the encoded link can decode it back.

Why URLs need escaping

URLs use certain characters as structural separators. Percent-encoding provides a way to represent bytes that cannot safely appear literally in a particular URL component.

Why `%20` often means a space

Percent-encoding writes a byte as % followed by two hexadecimal digits. ASCII space is hexadecimal 20, producing %20 in a percent-encoded URL component.