This online URL encoder and decoder converts special characters into percent-encoded (%XX) sequences for safe transmission and decodes encoded URLs back to readable text.
Quickly encode URL parameters and decode percent-encoded URLs in your browser with no server upload.
| Component | Value | Description | |
|---|---|---|---|
| Protocol | - | The protocol used (e.g., http, https) | |
| Username | - | Optional username in URL authentication | |
| Password | - | Optional password in URL authentication | |
| Domain | - | The domain or hostname | |
| Port | - | Optional port number | |
| Path | - | The path to the resource | |
| Query Parameters | - | Parameters passed to the server | |
| Hash/Fragment | - | Anchor to a specific part of the page |
URL encoding, also known as percent-encoding, is a mechanism defined in RFC 3986 for translating characters that are unsafe or reserved in a Uniform Resource Identifier (URI) into a format that can be safely transmitted over the Internet. Each unsafe character is replaced by a percent sign (%) followed by two hexadecimal digits representing its byte value in UTF-8.
For example, a space becomes %20, a question mark becomes %3F, and the ampersand becomes %26. This ensures URLs remain valid across browsers, servers, proxies, and API gateways.
URLs have a strict syntax and only a small set of characters is allowed without escaping. Whenever you embed user input, file names, search terms, or arbitrary data into a URL, you must encode it - otherwise reserved characters like ?, &, #, / and spaces will break routing, query string parsing, or redirects.
A URL decoder reverses this process, turning %20 back into a space and %C3%A9 back into é, so you can inspect payloads from server logs, analytics URLs, or deep links in a human-readable form.
Using the tool is straightforward and takes just a few seconds:
The tool also parses the URL and shows a breakdown of its components (protocol, host, path, query parameters, fragment) so you can verify the structure at a glance.
Our URL encoder is designed for developers who need a fast, accurate, and private way to handle percent-encoding. It uses the browser's native encodeURIComponent and decodeURIComponent implementations, so the result matches exactly what your JavaScript code would produce in production.
There are no ads, no sign-up, no file uploads and no throttling - just instant results with a built-in URL component inspector, sample data, and one-click copy.
RFC 3986 splits URI characters into two groups. Unreserved characters (A-Z, a-z, 0-9, -, ., _, ~) are always safe and never encoded. Reserved characters (:/?#[]@!$&'()*+,;=) have special meaning in URLs and must be percent-encoded when used as data rather than as delimiters.
For non-ASCII characters, the value is first encoded as UTF-8, then each byte is represented as %XX. That is why the character é becomes %C3%A9 - two bytes in UTF-8, each written as a percent-escaped hex pair.
Everything you need in a single page, optimized for real-world URL work:
encodeURIComponent.URL encoding is a daily task for web, backend, and mobile developers. Typical scenarios include:
redirect_uri and state parameters per RFC 6749.Yes. This URL encoder is fully client-side - all encoding and decoding happens in your browser via standard JavaScript APIs. Your URLs, tokens, and query strings are never uploaded to any server and are not logged, stored, or shared.
You can safely use it on sensitive data such as OAuth tokens, signed links, or staging URLs - closing the tab is enough to remove every trace from this session.
DevTools is a curated suite of free, privacy-respecting developer utilities. Every tool runs locally in your browser, loads quickly, and is built with the same standards you would use in production - no guesswork, no tracking, no paywall.
Together the tools cover the full developer workflow: data conversion, encoding, formatting, diffing and inspection, so you can stop stitching together random single-purpose websites.
Once you have the encoded or decoded result you can copy it to the clipboard with a single click, or copy any individual parsed component (host, path, query) from the URL components table. This makes it easy to move values into other tools or into your own code.
Need to go further? Combine this page with other DevTools utilities: URL to QR Code, Base64 Encoder / Decoder, and Hex Converter - building a smooth workflow from raw text to safely transmitted payloads.
encodeURI is meant for a complete URL and leaves reserved delimiters such as :/?#&= untouched. encodeURIComponent is meant for a single URL component (for example a query-string value) and also escapes those delimiters. This tool uses encodeURIComponent, which is the safe default when you are escaping user-provided values.
Per RFC 3986 the reserved characters are :/?#[]@!$&'()*+,;=. Any other ASCII symbol outside the unreserved set (A-Z a-z 0-9 - . _ ~) must also be percent-encoded when used as data.
Non-ASCII characters are first encoded as UTF-8 bytes, then each byte is written as %XX. For example é becomes %C3%A9 and the emoji 😀 becomes %F0%9F%98%80.
+ and %20 for spaces?In the application/x-www-form-urlencoded format (HTML form submissions) a space is encoded as +. In a generic URL path or query per RFC 3986 a space is encoded as %20. This tool produces %20, which is always safe; decoders accept either form.
Yes. The tool runs entirely in your browser. Nothing you paste is uploaded, logged, or stored on any server.
% characters?That usually means the URL was encoded more than once (double-encoded). Run the decoder again on the result until no %XX sequences remain.
Yes - it is completely free with no registration, no ads, and no usage limits.
To deepen your understanding of URL encoding, URI syntax and percent-encoding, explore these authoritative references:
URL API.