Encode URL components without confusing + and %20.

Choose whether you are encoding a URL component or a form value; their space rules differ.

URL value

Encode
Decode
URL component
HTML form value
Result

URL encoding output

text
Mode: URL component
UTF-8 bytes: 32
Encoded value
summer%20air%20conditioning%20%2B%20tariff

Processed locally — inputs and results stay in this browser tab. Copy and download actions run only when you choose them.

More Signalbench tools

Small tools for stubborn bugs.

Format JSON, inspect JWT claims, explain cron expressions, and compare text locally in your browser.

Open

Format and validate JSON without leaving your browser.

Format, indent, and validate JSON locally in your browser, with a clear error message when the syntax is invalid.

Open

Decode a JWT and read its claims.

Decode a JSON Web Token locally to read its header and payload claims — decoding a JWT is not the same as verifying it.

Open

Understand any cron expression at a glance.

Parse a five-field cron expression and see the minute, hour, day, month, and weekday fields explained in plain language.

Open

Compare two texts line by line.

Compare two blocks of text line by line and see exactly which lines were added, removed, or unchanged, locally in your browser.

Open

Encode and decode Base64 without breaking Unicode.

Encode UTF-8 text as Base64 and Base64URL or decode canonical data back to Unicode text.

Open

Component versus form encoding

URL components use percent escapes. HTML form values traditionally represent spaces with plus signs, so a literal plus must be escaped.

  • Decode only the component, not an entire URL.
  • Malformed percent escapes are rejected.
  • Generated results include a canonical encoding.