Encode special characters for safe URLs, or decode percent-encoded URLs back to readable form. Includes URL parser, query parameter viewer, and live stats.
URL encoding (also called percent-encoding) is a method of converting characters that aren't allowed in URLs into a safe format. Each unsafe character is replaced with a % symbol followed by its two-digit hexadecimal code. For example, a space becomes %20, and an ampersand becomes %26.
URLs can only contain a limited set of characters safely. Reserved characters like ?, &, =, and # have special meaning in URLs β if you include them literally, they'll be misinterpreted by servers and browsers. Non-ASCII characters (Γ©, ΓΌ, Γ±, δΈζ, emoji) and unsafe ASCII characters (space, <, >, ") must also be encoded.
Original: hello world Encoded: hello%20world Original: search?q=cafΓ© au lait&sort=asc Encoded: search%3Fq%3Dcaf%C3%A9%20au%20lait%26sort%3Dasc
encodeURIComponent(). Encodes everything except A-Z a-z 0-9 - _ . ! ~ * ' ( ). Best for encoding a single value β like a search query or a query parameter value.encodeURI(). Also preserves URL structural characters like : / ? # & = so the URL stays syntactically valid. Best for encoding an entire URL that already has structure.The URL spec (RFC 3986) defines three character sets:
A-Z a-z 0-9 - _ . ~! * ' ( ) ; : @ & = + $ , / ? # [ ]", <, >, %, {, }, |, \, ^, `, and all non-ASCII&, =, or spaces.?, &, and / in it, and you don't want those characters destroyed.+ vs %20 QuestionIn the query string portion of a URL (after ?), + is often used as a shorthand for a space, especially in HTML form submissions (application/x-www-form-urlencoded). However, this is not a general URL rule β in the path portion, + means a literal plus sign.
When you decode with "Decode + as space" enabled, the tool converts + to a space. This is standard for query strings. When disabled, + stays as a literal plus sign.
All encoding and decoding happens in your browser. Your input is never uploaded to a server, never stored, and never shared. Close the tab and it's gone.