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 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

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.

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.

Share this tool

Share a direct link or embed this tool on your site. Keep the Tooladex attribution link to support the project.