URL Encoder / Decoder

Paste a raw URL to encode it, or paste an encoded URL to decode it. The tool auto-detects direction, supports both full-URL and component encoding modes, and runs entirely in your browser.

Link copied to clipboard
Encoding mode:

Preserves structural characters (://, /, ?, =, &). Use this for complete URLs.

Try an example:

Raw URL

Paste any text or URL here — it will be encoded automatically

Encoded URL

Paste a percent-encoded string here — it will be decoded automatically

Nothing is sent to our servers. All encoding and decoding happens entirely in your browser.

How to use this tool

  1. Paste your raw URL into the left panel — encoding starts immediately as you type.
  2. To decode, paste a percent-encoded URL into the right panel — decoding starts immediately.
  3. If you paste an encoded URL into the left panel (or a raw URL into the right panel), the tool auto-detects and moves it to the correct side.
  4. Use the mode selector to choose Full URL (preserves `://`, `/`, `?`, `=`, `&`) or Component Only (encodes everything including those characters).
  5. Click the Copy button on either panel to copy the content to your clipboard.

Why use our URL Encoder / Decoder?

URLs can only safely contain a limited set of ASCII characters. Spaces, accented letters, and special symbols like `&` or `#` must be percent-encoded before they can be placed inside a URL or query string. This tool handles both directions — encoding raw text into a URL-safe format and decoding percent-encoded strings back to human-readable text — without sending anything to a server.

Frequently Asked Questions

What is URL encoding?

URL encoding (officially called percent-encoding) converts unsafe or reserved characters into a `%` sign followed by two hexadecimal digits representing the character's byte value. For example, a space becomes `%20`, `&` becomes `%26`, and `é` becomes `%C3%A9`. This ensures the URL is safe to transmit over the internet without being misinterpreted.

What is the difference between Full URL and Component Only encoding?

Full URL encoding (equivalent to JavaScript's `encodeURI`) preserves characters that have structural meaning in a URL — the protocol (`://`), path separators (`/`), query string delimiters (`?`, `=`, `&`), and the fragment marker (`#`). Use this when you want to encode an entire URL without breaking its structure. Component Only encoding (equivalent to `encodeURIComponent`) encodes all of those characters too, because it is designed for encoding a single piece of data — like a query parameter value — that will be embedded inside a URL.

What's the difference between encodeURI and encodeURIComponent in JavaScript?

`encodeURI` is meant for a complete URL and leaves structural characters (`/`, `:`, `?`, `=`, `&`, `#`) intact. `encodeURIComponent` is meant for a URL component (like a query parameter value) and encodes those structural characters too. As a rule of thumb: use `encodeURI` for full URLs and `encodeURIComponent` when embedding a URL or string inside another URL.

Which characters must always be percent-encoded?

Characters that are not allowed unencoded in URLs include spaces and most non-ASCII characters (accented letters, CJK characters, emoji). Characters that are allowed in a URL but have reserved meaning — such as `?`, `=`, `&`, `#`, `/`, `:` — must be encoded when they appear as data (not as delimiters). Unreserved characters — letters, digits, `-`, `_`, `.`, `~` — are always safe and never need encoding.

Can this tool decode a full query string?

Yes. Paste the entire query string (e.g. `q=hello%20world&lang=pt-br`) into the encoded panel and the tool will decode it in one step. If you need to decode individual parameter values, switch to Component Only mode — the behavior is the same for decoding in both modes.