URL Encoder / Decoder
Encode or decode URL-encoded strings. Use for query parameters, form data, and full URLs. Choose component encoding (query/form values) or full URL encoding (preserves : / ? # etc).
100% Client-Side Processing
Your data is encoded/decoded entirely in your browser. No data is sent to any server.
Component (default): Encodes everything except A-Z a-z 0-9 - _ . ! ~ * ' ( ). Use for query parameter values and form data. Full URL: Preserves : / ? # [ ] @ ! $ & ' ( ) * + , ; =. Use when encoding or decoding a complete URL.
Table of Contents
What is URL Encoding?
URL encoding (percent encoding) replaces characters that are not allowed or reserved in URLs with a % followed by two hexadecimal digits. For example, a space becomes %20, and ? becomes %3F. This lets you safely include spaces, special characters, and Unicode in query parameters and other URL parts.
It is not encryption; it is a reversible transformation. Anyone can decode a URL-encoded string. Use it for building valid URLs and passing data in query strings, not for hiding information.
How it Works
Encode: Each character that must be encoded is replaced by %XX where XX is the character's UTF-8 byte value in hex. Unreserved characters (letters, digits, and a few punctuation marks) stay as-is.
Decode: Each %XX sequence is converted back to the corresponding byte; the result is interpreted as UTF-8 text. Malformed sequences (e.g. incomplete % or invalid hex) cause a decode error.
Component vs Full URL
Component encoding (encodeURIComponent): Encodes almost everything, including / ? # & =. Use this for query parameter values and form field values so that reserved characters do not break the URL. Example: ?q=hello%20world.
Full URL encoding (encodeURI): Encodes spaces and some other characters but preserves : / ? # [ ] @ ! $ & ' ( ) * + , ; =. Use when you are encoding or decoding a complete URL and want to keep its structure. Decode with the same mode you used to encode.
Common Use Cases
Query parametersEncode search terms, filters, and key-value pairs (e.g. ?search=hello%20world).
Form dataEncode form fields for application/x-www-form-urlencoded or query strings.
Redirect URLsEncode a full URL as a parameter (e.g. ?redirect=https%3A%2F%2Fexample.com).
API requestsBuild query strings or path segments with special characters.
DebuggingDecode encoded URLs or parameters to read them clearly.
Frequently Asked Questions
Component encoding encodes almost all reserved characters (including / ? # & =) and is intended for query parameter values and form data. Full URL encoding preserves : / ? # [ ] @ etc so that a complete URL stays valid. Use component for parameter values; use full URL when encoding or decoding an entire URL.
The input may contain a malformed percent sequence (e.g. %2 or %xy with invalid hex), or you may be decoding something that was encoded with the other mode. Try toggling "Decode as full URL" if the string was encoded as a full URL.
No. URL encoding is reversible and offers no secrecy. Anyone can decode it. Do not use it to hide sensitive data; use proper cryptography if you need confidentiality.