URL Encoder/Decoder

Safely encode or decode URLs and text strings for web transmission. Supports batch processing.

URL Encoder / Decoder

Encoding Style:
Text / URLs to Encode
Encoded Output
fact_check Reviewed by Senior Editor
verified Reviewed: Jul 28, 2026
update Updated: Jul 28, 2026
commit v2.0.0
schedule 5 min read

lightbulb When to use this tool

  • check_circle Encoding a complex string (JSON object, email address, search query with symbols) to safely embed it as a URL query parameter value.
  • check_circle Decoding a percent-encoded URL received in a webhook, log entry, or API callback to read its actual content.
  • check_circle Encoding a full callback URL that must be passed as a parameter inside another URL (double-encoding scenario).
  • check_circle Debugging analytics tracking URLs with UTM parameters where the values contain special characters.
  • check_circle Preparing a URL for use in an HTTP request header or Authorization value where special characters are not allowed unescaped.

Why use our tool?

Two Encoding Modes — Full URL vs Component

Both Directions — Encode and Decode

Handles Unicode — Including Indian Language Scripts

One-Click Copy

Browser-Native — Zero External Dependencies

How it works

1

Select the mode: 'Encode URL Component' for query parameter values and path segments, 'Encode Full URL' for complete URL strings.

2

Select the direction: 'Encode' (raw → percent-encoded) or 'Decode' (percent-encoded → raw).

3

Paste your input string into the text area.

4

The encoded or decoded result appears instantly in the output area.

5

Click 'Copy' to copy the result.

Examples

science Encoding a JSON Query Parameter

science Decoding a Webhook Callback URL

Frequently Asked Questions

What is percent-encoding and which characters need to be encoded? expand_more
Percent-encoding replaces characters that are not safe in URLs with a % followed by their two-digit hexadecimal ASCII code. Characters that must be encoded in query parameter values include: space → %20 (or + in form encoding), ! → %21, # → %23, $ → %24, & → %26, ' → %27, ( → %28, ) → %29, * → %2A, + → %2B, , → %2C, / → %2F, : → %3A, ; → %3B, = → %3D, ? → %3F, @ → %40, [ → %5B, ] → %5D. The unreserved characters (A-Z, a-z, 0-9, -, _, ., ~) are safe and never need encoding.
What is the difference between encodeURI() and encodeURIComponent()? expand_more
encodeURI() is designed for encoding a complete URL. It leaves URL structural characters intact: / (path separator), ? (query start), # (fragment), & and = (parameter separators), and : (scheme separator). Use it when you have a full URL you want to make safe for embedding in HTML or a log. encodeURIComponent() encodes everything except unreserved characters — it encodes /, ?, &, = and all other special characters. Use it when encoding an individual query parameter value or path segment that should be treated as a literal string, not a URL structure.
Why does a space sometimes encode as %20 and sometimes as +? expand_more
There are two different URL encoding standards for spaces. Percent-encoding (RFC 3986) encodes space as %20. HTML form encoding (application/x-www-form-urlencoded, used by HTML forms) encodes space as + (plus sign). Both are valid in their respective contexts. Web servers and frameworks typically handle both. This tool uses standard percent-encoding (%20) which is universally correct for API URLs. The + encoding is specific to HTML form submissions and is less portable in general API contexts.
What does 'double encoding' mean and when does it occur? expand_more
Double encoding occurs when an already-encoded URL gets encoded again. If a callback_url parameter value is https://example.com/path?id=1 and you encode it correctly as https%3A%2F%2Fexample.com%2Fpath%3Fid%3D1, that is correct single encoding. If you then accidentally encode that encoded value again, the % signs themselves get encoded (%25), producing https%253A%252F%252F... — double encoded. When decoded once, you get the encoded form, not the original URL. This is a common bug in API integration code and webhook handlers.

More Developer & Security