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 parameters: Encode search terms, filters, and key-value pairs (e.g.
?search=hello%20world). - Form data: Encode form fields for application/x-www-form-urlencoded or query strings.
- Redirect URLs: Encode a full URL as a parameter (e.g.
?redirect=https%3A%2F%2Fexample.com). - API requests: Build query strings or path segments with special characters.
- Debugging: Decode 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. Ensure there are no stray % or broken sequences.
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.