weconvertit

Developer

URL Encoder / Decoder

Percent-encoding, live and two-way. Nothing you type ever leaves your browser — safe for query strings carrying tokens or private data.

Plain Text

URL Encoded

Type or paste into either box — the other updates live. Uses encodeURIComponent / decodeURIComponent, which percent-encode everything except A-Z a-z 0-9 - _ . ! ~ * ' ( ).

Type or paste into either the plain text or encoded box and the other updates instantly — no separate encode and decode buttons to hunt for. Encoding uses the browser's native encodeURIComponent, which percent-encodes everything except unreserved characters, making it safe for query string values, redirect targets, and path segments that might otherwise break a URL. Pasting malformed percent-encoding produces a clear error instead of silently corrupted output. Because URLs often carry session tokens, API keys, or other sensitive query parameters, everything runs locally — nothing you type is ever sent to a server.

Related Tools

How to Use

  1. 1

    Type or paste plain text into the top box to see it percent-encoded below.

  2. 2

    Or paste an encoded string into the bottom box to decode it back into the top box.

  3. 3

    Either direction updates live — no separate button to click.

  4. 4

    Invalid percent-encoding in the encoded box shows a clear error instead of garbage output.

Frequently Asked Questions

Is anything I type sent anywhere?

No. Encoding and decoding both run instantly in your browser's JavaScript engine using the native encodeURIComponent and decodeURIComponent functions — nothing is ever sent to a server. That matters since query strings and redirect URLs often carry auth tokens or session data.

Which characters get encoded?

encodeURIComponent percent-encodes every character except unreserved ones: A-Z, a-z, 0-9, and - _ . ! ~ * ' ( ). That includes spaces, &, =, ?, /, and other characters with special meaning in a URL — which is exactly why it's used on individual query parameter values rather than a whole URL.

What's the difference between this and encodeURI?

encodeURIComponent (used here) is for encoding one piece of a URL — a query parameter value, a path segment — and escapes characters like & and / that have structural meaning. encodeURI is for encoding a whole URL and leaves those structural characters alone. Using encodeURIComponent on an entire URL would break it by escaping the ://, so this tool is built for the component case, which is what people need far more often.

What happens if I paste invalid percent-encoding?

You get a clear error message instead of a crash — decodeURIComponent throws on a malformed or incomplete %XX sequence (for example a stray % not followed by two hex digits), and that's surfaced directly instead of silently producing garbage.