URL ENCODER & DECODER

Convert text to and from percent-encoded (URL-encoded) form. Everything runs in your browser — nothing you paste is sent to a server.

Direction
Mode

Component encodes every reserved character ( : / ? # & = ) so the text is safe inside one query value.

Try an example:

Component or full URL?

Component

Encodes everything that is not a letter, digit or - _ . ! ~ * ' ( ), including : / ? # & =. Use it for a value going into a single query-string parameter, e.g. ?q= + Hello%20world%20%26%20welcome.

Full URL

Leaves the URL structure alone and only encodes characters that are illegal in a URL, so https://example.com/a b?x=1&y=2 becomes https://example.com/a%20b?x=1&y=2. Use it when the whole address needs escaping.

Common characters

CharacterEncoded CharacterEncoded
space%20(%28
!%21)%29
"%22+%2B
#%23,%2C
$%24/%2F
%%25:%3A
&%26=%3D
'%27?%3F
@%40[ / ]%5B / %5D

Frequently asked questions

Component uses encodeURIComponent, which encodes reserved characters (: / ? # & =) so the result is safe as a single query value. Full URL uses encodeURI, which keeps that structure intact and only encodes characters that are not allowed in a URL at all.

HTML forms historically encode spaces as + in query strings (application/x-www-form-urlencoded). Tick the checkbox to encode spaces that way, or to treat + as a space when decoding. In a plain URL a space is %20, and a literal + means a plus sign.

Decoding fails when a % is not followed by two valid hexadecimal digits, which usually means the string was truncated or was never encoded in the first place. The tool tells you when that happens instead of returning garbled text.

Everything is encoded as UTF-8, so a character outside the ASCII range becomes several %XX bytes — for example é is %C3%A9. Round-tripping through Encode then Decode returns the original text.

No. The conversion runs entirely in your browser with the built-in encodeURIComponent / decodeURIComponent functions. Nothing you type is sent anywhere.