Encode and decode URLs safely
URLs can contain only a limited set of characters. Spaces, accented letters, emoji and symbols such as &, = or # must be percent-encoded — written as % followed by two hexadecimal digits — before they can appear inside a URL. This tool converts text to that format and back. It runs in your browser, so the URLs you paste, including any tokens or personal data they contain, are never sent to a server.
Features
- Two encoding scopes: encode a single value (component) or a whole URL while preserving its structure.
- Form-style encoding: optionally write spaces as
+and decode+back to spaces. - UTF-8 support for every language and emoji.
- Query string viewer: when decoding a URL, each parameter is shown as a key/value pair, making long tracking links and API calls easy to read.
- Instant output with one-click copy, and a mode switch that moves the result into the input for a quick round trip.
When you need URL encoding
Building API requests. If a search term or filter value contains spaces or symbols, it must be encoded before being added to a query string. Otherwise & or = inside the value would be read as the start of a new parameter.
Reading tracking and redirect links. Marketing links and login redirects often contain a whole URL encoded inside another. Decode them to see where a link really goes and which parameters it carries.
Debugging web forms. Form submissions encode fields as key=value pairs joined by &, with spaces as +. Decoding the raw body shows exactly what was submitted.
Sharing links with non-English text. Browsers display https://example.com/東京 nicely, but the actual request uses %E6%9D%B1%E4%BA%AC. Encoding shows the form that servers receive.
Reserved and unreserved characters
RFC 3986 defines unreserved characters that never need encoding: letters, digits, -, ., _ and ~. Reserved characters — : / ? # [ ] @ ! $ & ' ( ) * + , ; = — have special meaning in URLs and must be encoded when they appear inside a value. Everything else, including spaces and all non-ASCII characters, is always encoded.
URL encoding is different from Base64. If you need to carry binary data or want a compact, alphabet-only representation, use the Base64 encoder — in Base64URL mode its output is safe to place directly in a URL.