URL Encoder / Decoder

Percent-encode text for safe use in URLs and query strings, or decode encoded URLs back to readable text.

Developers building query strings and debugging encoded links.

How to use it

  1. Choose encode or decode

    Switch between encoding plain text into a URL-safe form and decoding an encoded string back.

  2. Pick the scope

    Use component encoding for an individual query value, or full-URL encoding to preserve the structure of a complete link.

  3. Paste and copy

    Enter your text and copy the converted output.

Why use this tool?

A URL can only safely contain a limited set of characters, so anything else — spaces, ampersands, slashes, question marks, accented letters, emoji — has to be percent-encoded (a space becomes %20, and so on). Get this wrong and links break, query parameters get cut off, or search terms come through garbled. The most common bug is using the wrong scope: encoding a whole URL when you should only encode a single query value, which mangles the structure, or vice versa. This tool encodes and decodes both ways and lets you pick the right scope. Component encoding (encodeURIComponent) escapes structural characters like / ? & = and is what you want for an individual parameter value; full-URL encoding (encodeURI) leaves those intact so the overall URL keeps working. Paste your text, choose encode or decode, and copy the result. Everything runs in your browser, so the URLs and data you paste — which may include tokens or query parameters — never leave your device.

Common use cases

Building query strings

Safely encode parameter values containing spaces, symbols, or non-ASCII text before adding them to a URL.

Debugging links

Decode an encoded URL to read what it actually points to and spot a broken parameter.

API requests

Encode path segments and query values correctly before sending requests.

Tracking & campaigns

Encode UTM values and redirect targets so they survive being passed through a URL.

Fixing garbled text

Decode percent-encoded strings from logs or addresses to recover the original characters.

Frequently asked questions

Component vs. full-URL encoding — which do I use?

Use component encoding (encodeURIComponent) for a single value like one query parameter; it escapes / ? & =. Use full-URL encoding (encodeURI) for a whole URL, which leaves those structural characters intact.

Why does decoding sometimes fail?

A malformed percent sequence — like a lone % not followed by two hex digits — cannot be decoded. Check the input for incomplete escapes.

What does %20 mean?

It is an encoded space. Percent-encoding represents a character by % followed by its hex byte value; a space is 0x20.

Why are some characters left unchanged?

Unreserved characters (letters, digits, and - _ . ~) are always safe in URLs, so they are not encoded.

How does this differ from Base64?

Percent-encoding makes text URL-safe; Base64 encodes binary data as text. They solve different problems — see the Base64 tool for the latter.

Does it handle emoji and non-English text?

Yes. They are encoded as UTF-8 byte sequences and round-trip correctly when decoded.

Is it private?

Yes. All encoding and decoding happens in your browser; nothing is uploaded.

Is it free?

Yes — encode and decode as much as you need for free, with no sign-up.

Related tools