</>DevTools

%20URL Encode/Decode

Encode or decode URL components

URL Encoding Complete Guide

URL encoding (Percent Encoding, RFC 3986) converts characters that are not allowed in URLs into %XX format. Essential for safely transmitting URLs with non-Latin scripts, spaces, or special characters — used everywhere in web: search queries, API calls, form submissions.

Percent Encoding Rules

Each byte is represented as %HH (H = hexadecimal digit). A single Korean character takes 3 bytes in UTF-8, becoming 9 encoded characters. Example: '안녕' → %EC%95%88%EB%85%95

Reserved Characters vs Safe Characters

  • Reserved: have special meaning in URL structure (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) — preserved by encodeURI
  • Unreserved (safe): can be used without encoding (A-Z a-z 0-9 - _ . ~)
  • All other characters must be percent-encoded

encodeURI vs encodeURIComponent

CharacterencodeURIencodeURIComponent
space%20%20
// (preserved)%2F
?? (preserved)%3F
&& (preserved)%26
== (preserved)%3D
## (preserved)%23

→ Use encodeURI for full URLs, encodeURIComponent (Component option) for query values/path segments

URL Encoding vs Base64 Encoding

These serve different purposes. Percent encoding makes unsafe URL characters safe. Base64 converts binary data to ASCII text. Use Base64 to embed images/files in URLs (data URIs); use encodeURIComponent for safely passing values in query parameters.

3 Modes

  • Encode: text → URL-safe format (space → %20)
  • Decode: %XX → restore original characters
  • Parse Query: parse URL query string as JSON (?a=1&b=2 → {"a":"1","b":"2"})

🔗Related Tools🔄 Text / Data