URL Encoder & Decoder
Encode or decode URLs and query strings instantly — free and private
Quick Reference
- Encode converts special characters to percent-encoded format
- Decode converts percent-encoded strings back to readable text
- Component encodes everything for query params
-
URI preserves URL-safe characters like
: / ? #
Common Use Cases
- Building search query strings
- Form data in API requests
- Sharing URLs with special characters
- Debugging encoded redirect URLs
100% Private
All encoding and decoding happens locally in your browser. No data is ever sent to any server.
What Is URL Encoding?
Understanding percent-encoding and why it matters for the web
URL encoding, formally known as percent-encoding, is a mechanism defined in RFC 3986 for encoding characters that are not allowed or have special meaning in a Uniform Resource Identifier (URI). Each unsafe character is replaced with a percent sign (%) followed by two hexadecimal digits that represent the character's byte value in UTF-8.
URLs can only contain a limited set of characters from the US-ASCII character set. Characters like spaces, ampersands, question marks, and non-Latin letters must be encoded so they can be safely transmitted in URLs without being misinterpreted by browsers, servers, or intermediary systems.
Safe Transmission
URLs travel through many systems — browsers, proxies, servers, and load balancers. Percent-encoding ensures that special characters are not misinterpreted as URL delimiters or control characters during transit.
Query Parameters
When building query strings, values that contain characters like &, =, or ? must be encoded to prevent them from being parsed as parameter separators or other URL components.
International Characters
URLs only support ASCII characters. Non-Latin scripts, emojis, and accented letters are first converted to their UTF-8 byte sequences, then each byte is individually percent-encoded for universal compatibility.
Common URL-Encoded Characters
A quick reference table for frequently encoded characters in URLs
| Character | Encoded | Description |
|---|---|---|
| (space) | %20 | Space character |
| & | %26 | Ampersand — query parameter separator |
| = | %3D | Equals sign — key-value separator |
| ? | %3F | Question mark — query string start |
| # | %23 | Hash — fragment identifier |
| / | %2F | Forward slash — path separator |
| @ | %40 | At sign — used in email and userinfo |
| + | %2B | Plus sign — sometimes used for spaces in forms |
| % | %25 | Percent sign — the escape character itself |
Unreserved characters that do not need encoding: A-Z a-z 0-9 - _ . ~. These are safe to use in any part of a URL without percent-encoding.
Frequently Asked Questions
Common questions about URL encoding and decoding
:, /, ?, #, &, and =. encodeURIComponent encodes all special characters, making it ideal for encoding individual query parameter values where those characters must not be interpreted as URL syntax.%20. However, in the older application/x-www-form-urlencoded format used by HTML forms, spaces are represented as +. Both are widely understood, but %20 is the more universal and modern standard. This tool uses %20 for spaces.cafe), Chinese or Arabic text, and emojis are first encoded as UTF-8 byte sequences. Each byte is then individually percent-encoded. For example, the emoji "smile" becomes a series of %XX sequences. This tool handles all Unicode characters correctly using the browser's native encoding functions.