← Tools
Encoding

URL Encoder / Decoder

Percent-encode URLs and URI components, or decode them back. Runs entirely in your browser.

Plain Text0 chars
Encoded URL0 chars

About URL Encoding

URL encoding converts characters unsafe in URLs into % followed by two hex digits. A space becomes %20, & becomes %26. Defined in RFC 3986. Read more: URL Encoding: When and How to Use It.

URI Component — use for query param values and path segments. Full URI — preserves structural characters like / ? # :, use for complete URLs. To parse query strings into JSON, try the Query Params to JSON tool. Need to encode binary data instead? Use the Base64 Encoder.

Common Use Cases

  • Query parameters — encode values before appending to URLs
  • API requests — ensure data is safe in request URLs. Format API responses with the JSON Formatter.
  • Form submissions — browsers encode form data automatically
  • JWT tokens — tokens in URLs must be URL-encoded. Decode them with the JWT Debugger.
  • Internationalisation — encode non-ASCII characters for safe transport
  • Convert identifiers for URLs: use the String Case Converter for kebab-case slugs

Common Encoded Chars

  • %20 — space
  • %2B — plus +
  • %2F — slash /
  • %3F — question mark ?
  • %26 — ampersand &
  • %3D — equals =
  • %23 — hash #

How to Use the URL Encoder / Decoder

1

Paste your text

Type or paste the text or URL you want to process into the input panel on the left.

2

Choose Encode or Decode

Select Encode to percent-encode characters, or Decode to convert %XX sequences back to plain text.

3

Pick URI Component or Full URI

Use URI Component for individual query param values. Use Full URI to preserve structural characters like / ? #.

4

Copy or Swap

Click Copy Output to copy the result, or Swap to feed the output back as the next input and reverse the operation.

Frequently Asked Questions

encodeURI vs encodeURIComponent?

encodeURIComponent encodes everything except letters, digits, and -_.!~*'(). Use it for values. encodeURI preserves URL structure chars like :/?#. Use it for full URLs.

Why does space sometimes become + instead of %20?

In HTML form encoding (application/x-www-form-urlencoded) spaces become +. In standard percent-encoding they become %20. Most APIs prefer %20.

Does this handle Unicode?

Yes. Non-ASCII characters are UTF-8 encoded first, then each byte is percent-encoded. For example becomes %E2%82%AC.

What is double-encoding?

Encoding an already-encoded string turns %20 into %2520. Decode first if you are unsure whether the input is already encoded.