EasyWebTools

Free URL Encoder / Decoder Online

Encode and decode URLs and query parameters โ€” percent-encoding made easy

What the URL Encoder / Decoder Does

URLs have strict rules about which characters are allowed. Spaces, ampersands, equals signs, question marks, and non-ASCII characters like accented letters all need to be converted into percent-encoded sequences (e.g., %20 for a space) before they can safely appear in a URL. Get this wrong and links break, query parameters get mangled, and APIs return cryptic errors.

This tool handles both directions: encoding plain text into URL-safe percent-encoded strings, and decoding percent-encoded strings back into readable text. It is built for developers constructing API requests, marketers assembling UTM-tagged campaign links, and anyone who has ever stared at a URL full of %20 and %3D and wondered what it actually says.

Your data stays on your device. All encoding and decoding runs entirely in your browser using JavaScriptโ€™s built-in URI functions. Nothing is transmitted to a server, nothing is logged, and nothing persists after you close the page.

How It Works

The interface is divided into three panels: mode and encoding type controls at the top, an input area in the middle, and the output panel below.

  1. Choose your mode. Click the Encode or Decode toggle at the top. Encode converts readable text into percent-encoded output. Decode does the reverse.

  2. Select the encoding type. Two buttons let you pick between Component and Full URI mode. Component mode uses encodeURIComponent, which encodes everything except letters, digits, and four safe characters (-, _, ., ~). Full URI mode uses encodeURI, which preserves characters that have structural meaning in URLs such as /, ?, #, &, and =. Each button includes a brief hint explaining what it does.

  3. Enter your text. Type or paste into the input textarea. The placeholder text changes based on your selected mode to show a relevant example. Results appear instantly as you type โ€” there is no submit button to click.

  4. Read the output. The encoded or decoded result appears in the output panel below. If the input contains invalid percent-encoding (like a lone % not followed by two hex digits), you will see a clear error message highlighted in orange instead of garbled output.

  5. Copy, swap, or clear. Click Copy next to the output to send the result to your clipboard. The Swap button flips the mode (encode becomes decode, or vice versa) and moves the current output into the input field so you can round-trip easily. Clear resets everything.

A common encodings reference at the bottom of the tool shows the nine most frequently encountered character-to-code mappings, from space to %20 through : to %3A.

Why Use Our URL Encoder / Decoder

No signup, no rate limits, no ads getting in the way. Many URL encoding tools online require you to solve CAPTCHAs, create accounts, or wade through interstitial ads just to encode a query string. This tool loads instantly and works immediately.

Component vs. Full URI toggle prevents a common mistake. Most competing tools only offer one encoding mode, which means you either encode too much (breaking full URLs by encoding slashes and colons) or too little (leaving ampersands and equals signs unescaped in parameter values). The explicit two-mode toggle makes the right choice obvious.

100% client-side processing. This is not a tool that relays your URLs to a backend API. The encoding and decoding happen in your browserโ€™s JavaScript engine. That means it works offline after the page loads, handles sensitive URLs without privacy concerns, and runs with zero latency regardless of your internet connection.

Live results with no friction. Output updates character by character as you type. There is no โ€œEncodeโ€ button to press and no page reload between conversions.

Use Cases

Building API query strings. When constructing URLs for REST API calls, parameter values containing special characters like &, =, or spaces must be percent-encoded. Paste each value into the tool in Component mode to get the safe version.

Debugging encoded URLs. You receive a webhook URL or redirect chain full of %2F and %3A sequences. Switch to Decode mode, paste it in, and read the original URL structure clearly.

Assembling UTM campaign links. Marketing campaign URLs often include utm_source, utm_medium, and utm_content parameters whose values may contain spaces, ampersands, or other reserved characters. Encode each parameter value individually in Component mode before concatenating the full URL.

Handling internationalized URLs. Non-ASCII characters like accented letters, CJK characters, and emoji must be encoded for use in URLs. The tool converts them into their multi-byte UTF-8 percent-encoded representations automatically. For example, a single accented character may expand into two or three %XX sequences.

Double-encoding detection. If a URL has been encoded more than once (a common bug in redirect chains), decoding it once will reveal another layer of percent-encoding. Run Decode repeatedly until the output stops changing to find the original string.

Teaching and learning. The common encodings reference panel and the two-mode toggle make this tool useful for understanding how URL encoding actually works, not just generating output blindly.

Tips and Best Practices

Use Component mode for individual values, Full URI mode for complete URLs. This is the single most important distinction. If you encode an entire URL with Component mode, the :// and path separators get encoded and the URL breaks. If you encode a query parameter value with Full URI mode, characters like & pass through unescaped and corrupt the query string.

Encode values before assembling the URL, not after. A common mistake is to build the full URL first and then try to encode the whole thing. Instead, encode each parameter value separately, then concatenate them with the unencoded structural characters (?, &, =).

Watch for + vs. %20 differences. In the application/x-www-form-urlencoded format used by HTML forms, spaces are represented as +. In standard percent-encoding used in URL paths, spaces are %20. This tool uses the standard %20 representation. If your use case requires + for spaces, do a manual find-and-replace on the output.

Decode one layer at a time. If you suspect double-encoding, decode once and inspect the result before decoding again. This lets you see exactly how many layers of encoding were applied and catch the bug at its source.

Check the reference panel when in doubt. The nine common encodings shown at the bottom of the tool cover the characters you will encounter most often. Knowing that # is %23 and ? is %3F saves time when reading encoded URLs by eye.

Frequently Asked Questions

What is URL encoding?
URL encoding (also called percent-encoding) replaces unsafe characters in a URL with a percent sign followed by two hex digits. For example, a space becomes %20 and an ampersand becomes %26. This ensures the URL is valid and parsed correctly by browsers and servers.
What is the difference between encodeURI and encodeURIComponent?
encodeURI encodes a full URL but preserves characters that have meaning in URLs (like /, ?,
When should I URL-encode something?
Encode whenever you are placing user input or arbitrary text into a URL โ€” especially in query parameters, form data, or path segments. Characters like spaces, ampersands, equals signs, and non-ASCII characters must be encoded to avoid breaking the URL structure.
Why does my URL have %20 instead of spaces?
Spaces are not valid in URLs. The %20 sequence is the percent-encoded representation of a space character. Some systems use + instead of %20 in query strings (application/x-www-form-urlencoded), but %20 is the standard for path segments.
Can I decode a URL with multiple levels of encoding?
Yes. If a URL has been encoded multiple times (double or triple encoding), you can run decode repeatedly until the output stops changing. Our tool decodes one level at a time so you can see each step.
Does this tool send my URLs to a server?
No. All encoding and decoding happens in your browser using JavaScript's built-in encodeURIComponent, decodeURIComponent, encodeURI, and decodeURI functions. Your URLs never leave your device.

Related Tools