URL Encode / Decode

Encodes URLs and parameter values as percent-encoding and decodes them back. The domain converts to punycode, and the link splits into its parts and utm labels.

0 characters Β· 0 bytes

What the tool does

Not every character is allowed in a URL. Spaces, quotes, non-Latin letters, and the reserved characters "&", "=", "?" are written as percent signs followed by two hexadecimal digits for each byte of UTF-8. A space becomes %20, and a letter outside the ASCII range takes several byte pairs.

Encoding comes in four modes, because different parts of a URL follow different rules. Decoding is the same in every mode: the tool reads each %XX sequence and shows what stood behind it.

A full URL and a single value are different jobs

The most common mistake is running an entire link through the mode meant for a parameter value. The "://" and "?" turn into percent sequences, and the link stops working. The reverse mistake is just as costly: a parameter value with "&" inside breaks the query string apart, and some parameters get lost.

The "URL as a whole" mode encodes each part by its own rules. The domain is converted to punycode, "/" and "?" stay in place, and parameter names and values are encoded fully. Existing %XX sequences are not encoded a second time.

A Cyrillic domain is written in punycode

Percent sequences do not work in the host name: ΠΏΡ€ΠΈΠΌΠ΅Ρ€.Ρ€Ρ„ appears in a link as xn--e1afmkfd.xn--p1ai. The tool converts in both directions right here, following RFC 3492. For a whole domain, with label length checks and lookalike letters, there is a separate punycode converter.

URL breakdown and utm tags

Below the result you see what the URL is made of: scheme, host, port, path, anchor, and each parameter with its decoded value. This is what most people open the decoder for: to see what an ad system put into utm_source and utm_campaign.

A value that fails to decode is marked separately: a truncated tail like %D0 breaks only its own parameter, not the whole breakdown.

Space: %20 or plus

In the path, a space is written only as %20. In the query string and in form bodies, the old convention is to write it as a plus sign, so decoding has a "treat + as space" checkbox. If a plus sign was really there in the text, in a phone number or a signature, uncheck the box.

Rate this tool

Help us get better

Other tools