100% Client-side  |  Encode • Decode • Parse • Query params  |  Auto-detects direction

URL Encoder / Decoder / Parser

Encode URLs with percent encoding, decode %20 sequences, and parse any URL into its components. Supports encodeURIComponent, encodeURI and form data encoding.

Encodes all special characters except: A–Z a–z 0–9 - _ . ! ~ * ' ( )

What is URL encoding?

URL encoding (also called percent encoding) converts characters that are not allowed in URLs into a safe format using a % followed by two hexadecimal digits representing the character's UTF-8 byte value.

For example, a space character becomes %20, and & becomes %26.

encodeURIComponent vs encodeURI

FunctionUse caseDoes NOT encodeEncodes
encodeURIComponentQuery param values, path segmentsA–Z a–z 0–9 - _ . ! ~ * ' ( ): / ? # [ ] @ ! $ & ' ( ) * + , ; = %
encodeURIFull URL encodingA–Z a–z 0–9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #Spaces and non-ASCII only
Form encodingHTML form POST dataA–Z a–z 0–9 - _ . *Space → +, others → %XX

Common percent-encoded characters

CharacterEncodedCommon context
Space%20 (or + in forms)Query string values
&%26Parameter separator inside values
=%3DInside parameter values
+%2BLiteral plus sign in values
#%23Fragment identifier inside values
/%2FSlash inside path segment values
?%3FQuestion mark inside values
@%40Email addresses in URLs

References

  1. RFC 3986 — Uniform Resource Identifier (URI)
  2. WHATWG URL Standard