URL Encode / Decode

Encode text and symbols into a URL-safe form (like %C3%A9) or decode it back to the original text.

Text to encode

0 characters · 0 lines

Direction

0 characters · 0 lines

Everything runs on this device. What you enter is never sent anywhere.

Encoding uses UTF-8. When decoding, text that isn't valid UTF-8 is also tried as Shift_JIS and EUC-JP (used by old Japanese sites).

Found it useful? We'd love a share

Something not working, or an idea to make it better?

How to use

  1. 1. Enter your text

    Tap "Paste" to paste the text or URL you copied. You can also type straight into the box. The encoded result appears below right away.

  2. 2. Keep the URL structure

    To encode a whole URL, tap "Keep URL structure" above the result box to turn it on. ":", "/", "?", "&" and so on stay as they are, and only non-ASCII characters and spaces get encoded. The result updates instantly.

  3. 3. Decode

    Tap "Decode" above the result box, then tap "Paste" on the top box to enter encoded text such as caf%C3%A9. The original text appears below.

  4. 4. Copy

    Tap "Copy" below the result to copy it. When you see "Copied", paste it wherever you need it.

Great for

  • Reading URLs full of "%E3%81%82…"

    Paste the %-filled part of a shared URL or an access log to turn it back into readable text and see what it says.

    Web staff and site admins

  • Putting special characters in URL parameters

    Encode search terms or UTM parameters with accents, spaces or symbols so links don't break in emails or chats.

    Marketers and newsletter senders

  • Removing tracking parameters before sharing a link

    Enter a URL and its domain, path and parameters are listed one per line below. Tracking parameters like utm_source and fbclid are marked, and you can copy the URL with them removed.

    Anyone sharing links on social media or in chats

  • Reading garbled URLs from old Japanese sites

    Old Japanese URLs encoded in Shift_JIS or EUC-JP are read as they are, without picking a character set.

    People moving or researching old sites

Good to know before you start

  • Encoding is UTF-8 only. It can't produce Shift_JIS-encoded text (decoding works).
  • Base64 and HTML entities like "&" are different from URL encoding and aren't converted.
  • It doesn't open URLs or check links. It only converts the text you enter.

About URL encoding

URLs can only contain letters, digits and a few symbols. Other characters, like accented letters or spaces, are split into UTF-8 bytes and written as "%" followed by two hex digits (such as %C3%A9). This is URL encoding (percent-encoding), and decoding is the reverse: turning it back into the original text.

By default, this tool also encodes "&", "=" and "/" (just like JavaScript's encodeURIComponent). That suits values that go inside a URL, such as search terms. To convert a whole URL, turn on "Keep URL structure" to leave the separators and already-encoded parts as they are. When decoding, a % not followed by hex digits, as in "100%", is left as is, so decoding never stops halfway.

How each character changes
DefaultKeep URL structure
あ%E3%81%82%E3%81%82
Space%20 (+ with "Spaces as +")%20 (+ with "Spaces as +")
/ ? & = #%2F %3F %26 %3D %23Unchanged
%%25%XX unchanged, others %25
Letters, digits and - _ . ~UnchangedUnchanged

FAQ

Answers to common questions before you start.

Is my text or URL sent anywhere?

No. Encoding and decoding happen entirely in your browser on your device, and nothing you enter is sent to a server. It's safe to use with internal URLs or text that contains passwords.

Do spaces become %20 or +?

%20 by default. To match the way forms send data (application/x-www-form-urlencoded), turn on "Spaces as +" to get +. A literal + then becomes %2B.

What does "Keep URL structure" do?

It leaves URL separators such as ":", "/", "?", "&", "=" and "#", plus any already-encoded %XX, as they are. Use it to make a URL with special characters ready to use. Leave it off when encoding a value that goes inside a URL, such as a search term.

Decoding turns + into spaces

To match search URLs, "+ as spaces" is on by default when decoding. Turn it off if you want to keep + as it is.

The decoded text is still garbled

If the text isn't valid UTF-8, this tool also tries Shift_JIS and EUC-JP (used by old Japanese sites) and shows the character set it used above the result. If it still can't be read, it shows where the unreadable %XX is. Often the URL was cut off, so try copying the original URL again.

After decoding, %25 or %XX is still there

The URL was encoded twice. Click "Decode again" above the result to put the result into the input and decode it once more.

Is it OK if the text has a % like "100%"?

Yes. A % not followed by two hex digits isn't treated as an error and is left as is. The number left is shown above the result.

Can I encode lots of keywords at once?

Yes. Put one per line and turn on "Line by line" to encode each line while keeping the line breaks. With it off, line breaks are encoded too, as %0A.

Is the result the same as JavaScript's encodeURIComponent?

Yes. With the default settings it matches encodeURIComponent and leaves only letters, digits and "- _ . ! ~ * ' ( )" unchanged. "Keep URL structure" works more like encodeURI and also keeps existing %XX.

Which tracking parameters are removed?

Parameters used to measure ads and emails: anything starting with utm_ (utm_source and so on), plus fbclid, gclid, gbraid, wbraid, dclid, msclkid, yclid, ttclid, twclid, igshid, mc_cid, mc_eid, _ga, _gl and similar ones. Parameters like ref or source are kept, because they're also used for referral codes or to switch pages, and removing them can break the link.

Can it convert internationalized domains to Punycode (xn--)?

Yes. Enter a domain like “bücher.de” or a URL containing one, and “Inside the URL” below shows both the readable form and the Punycode form (xn--bcher-kva.de). Encoding with “Keep URL structure” turns the domain into Punycode, and decoding turns an xn-- domain back into its readable form.

Is it free?

Yes. No sign-up and no ads.

  • Hiragana ⇔ katakana converter

    Convert between hiragana, katakana and half-width katakana in one go. Kanji, letters and numbers are left as they are.

  • JSON formatter

    Pretty-print JSON or minify it to one line. If there's a mistake, it shows you where.

  • Password generator

    Choose the length and characters to make hard-to-guess passwords on the spot.

  • Text compare

    Compare two texts and highlight the differences, down to the word and character.

  • Copy Symbols & Special Characters

    Tap to copy hearts, arrows, box drawing, brackets, units and other symbols. You can also search them by name.

  • Fix garbled CSV files

    Detect a CSV’s encoding and convert it to UTF-8 (with BOM) or Shift_JIS.