OffTility

URL Encode/Decode

Percent-encode or decode text, component or full URI. Nothing you paste ever leaves this tab.

0 characters

Nothing you type here is sent anywhere.

Action
Scope

What this tool does

URL Encode/Decode percent-encodes text so it's safe to use inside a URL — spaces, ampersands, question marks, and other special characters — or reverses that back into readable text. It covers both common cases: encoding a single query-string value (Component), where characters like `/`, `?`, and `&` need escaping too, and encoding a whole URL (Full URI), where those characters are left alone because they're part of the URL's own structure.

Type or paste, and the result updates as you go — no button to press.

How to use it

Paste the text or URL you want to convert. Choose Encode or Decode, and Component or Full URI depending on whether what you're working with is one value (like a search term or a query parameter) or an entire URL. The result appears below immediately.

Copy the result with one click, or download it as a text file. Clear the input any time to start over.

Why nothing leaves your device

URLs often carry more than they look like they do — session tokens in a query string, an API key passed as a parameter, an internal URL from a staging environment, a redirect target with account details baked in. Encoding or decoding one of those through a typical online tool means it travels to that tool's server first.

This one runs on `encodeURIComponent`/`decodeURIComponent` and `encodeURI`/`decodeURI` — functions built into the browser itself — so there's no server round trip to make. Open your network tab while using it and you'll see nothing carrying what you typed.

What this does well — and what it doesn't

This handles standard percent-encoding correctly for both the component and full-URI cases, including multi-byte UTF-8 characters (accented letters, emoji, non-Latin scripts) in the encode direction. Decoding reports a clear error rather than crashing if the input contains a malformed `%` sequence — for example a lone `%` not followed by two hex digits.

It doesn't validate that a decoded result is actually a well-formed URL, and it doesn't handle `+`-as-space encoding used in classic HTML form submissions (`application/x-www-form-urlencoded`) — that's a related but distinct encoding from what appears in a URL's path or query string itself.