URL Encoder / Decoder

TL;DR

The URL encoder/decoder percent-encodes strings with special characters or decodes them back to the original characters, both ways.

A space becomes %20, and the character '한' becomes %ED%95%9C in UTF-8.

Direction

How to use

  1. Enter text — paste the URL or string you want to encode or decode into the input box.
  2. Pick a direction — choose encode (encodeURIComponent), full URL encode (encodeURI) or decode.
  3. Copy result — the converted string appears in the output area; use the copy button to copy it.

Encoding methods compared

URL encoding functions compared
MethodWhat it encodesCharacters keptUse for
Encode (Component)Most reserved charactersA–Z a–z 0–9 - _ . ! ~ * ' ( )Query parameter values
Full URL encodeSpaces, non-ASCII, etc.: / ? # [ ] @ & = + and other structure charactersA whole address
Decode%XX sequences → original charactersReversing encoding

Common encoding examples

Character → percent encoding
CharacterEncoded
Space%20
&%26
=%3D
?%3F
한 (UTF-8)%ED%95%9C

Frequently Asked Questions (FAQ)

How is encodeURIComponent different from encodeURI?

encodeURIComponent encodes all reserved characters, as for a query parameter value, while encodeURI targets a whole URL and leaves address-structure characters like slash (/), colon (:) and question mark (?) untouched. Use encodeURIComponent for parameter values.

What is percent-encoding?

Percent-encoding replaces characters that cannot appear directly in a URL with a % followed by two hex digits. For example a space becomes %20, and the character '한' becomes %ED%95%9C in UTF-8.

Does decoding turn + into a space?

This tool's decoder converts + to a space first for application/x-www-form-urlencoded compatibility, then decodes. If you need to keep a literal + in a path, use the encoded form %2B.

Why does decoding fail?

Decoding fails when a % is not followed by two valid hex digits (for example %ZZ or a lone %). Check that the % signs in your encoded string are followed by valid hex.

Related tools & guides

Last updated: 2026-06-25