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.

Encode full URL (preserve : / ? # etc)

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.

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

What is the difference between component and full URL encoding?

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.

Why do I get a decode error?

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.

Is URL encoding the same as encryption?

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.