Development

URL Encoder / Decoder

Encode text and URLs for the address bar or decode %-sequences back – with the variants parameter, full URL and form, Punycode for internationalised domains and an analysis of all parameters.

  • Runs entirely in your browser
  • No data upload
  • No sign-up
  • Free

Text

Result

Guide

How it works

  1. Choose the direction

    “Encode” turns special characters into URL-safe %-sequences, “Decode” turns them back into readable text.

  2. Choose the type of encoding

    “Parameter / part” for single values (e.g. a search term), “Full URL” for a complete address whose structure should be kept, and “Form” for data like from an HTML form (spaces as +).

  3. Enter

    Type or paste text or a URL into the left field – the result appears immediately. With “Each line separately” you can convert whole lists at once.

  4. Analyse a URL

    The “URL analysis” tab shows the host, path and all parameters decoded. Tracking parameters such as utm_source are highlighted and can be removed with one click.

FAQ

Frequently asked questions

Why do URLs need to be encoded?

Only certain characters are allowed in URLs. Spaces, accented letters or characters with a special meaning such as &, ? and # must be written as a %-sequence – otherwise the address is misunderstood. In UTF-8, for example, “é” becomes %C3%A9 and a space becomes %20.

What is the difference between “Parameter / part” and “Full URL”?

“Parameter / part” encodes everything except letters, digits and - . _ ~ – including / ? & and =. That is right for single values inserted into a URL. “Full URL” keeps these structural characters so the address still works, and does not double-encode existing %-sequences.

Spaces as %20 or as +?

Both occur: %20 is the general URL encoding, + only applies in form data and in the query part after the “?”. When decoding you can choose whether + is read as a space.

What is Punycode?

Domains with special characters such as “münchen.de” are transmitted in the background as pure ASCII names, e.g. “xn--mnchen-3ya.de”. With “Full URL” the tool converts the host name automatically; the analysis shows both notations.

Why does the result differ from encodeURIComponent()?

JavaScript’s encodeURIComponent() leaves the characters ! ' ( ) * unencoded. This tool strictly follows RFC 3986 and encodes them as well – which is safer; decoding works the same in both cases.

Are my inputs stored or opened?

No. Everything happens locally in your browser. Entered addresses are only broken down as text and never opened.