🔗 Developer Tools

URL Encoder / Decoder

Percent-encode or decode URLs and query parameters instantly — safe for links, forms, and APIs.

Plain text / URL51 chars
Encoded result

Query parameters (2)

KeyValue
qhello world
langen/fr
Overview

URL Encoder / Decoder: make any text safe for a link

URLs are only allowed to contain a limited set of characters. Spaces, accented letters, ampersands, slashes inside a value, and dozens of other symbols must be 'percent-encoded' — replaced with a % followed by two hexadecimal digits — before they can travel safely in a link, a query string, a form submission, or an API request. This tool does that conversion both ways: paste plain text to get its encoded form, or paste an encoded string to read it back.

Everything runs locally in your browser, so even long URLs with sensitive tokens never leave your device. Toggle 'whole URL' to keep structural characters like the scheme, slashes and query separators intact, and use the automatic query-parameter breakdown to inspect exactly what a link is carrying.

100% freeNo sign-upRuns in your browserEncode & decode
How to use it
  1. 1Choose Encode (text → %XX) or Decode (%XX → text).
  2. 2Type or paste your text — the result updates instantly as you type.
  3. 3Tick 'Treat as a whole URL' to keep :/?#&= unescaped when encoding an entire address.
  4. 4Use Copy to grab the result, or Swap to feed it back in and flip the mode.
Key features
  • Encode with encodeURIComponent (values) or encodeURI (whole URLs)
  • Decode percent-encoding back to readable text
  • Automatic query-parameter table for URLs with a query string
  • Clear, friendly error when encoded input is malformed
  • One-click copy and swap, live character count
  • 100% client-side — tokens and data never leave your device

Frequently asked questions

What is the difference between encodeURI and encodeURIComponent?
encodeURIComponent escapes almost everything, so it is right for a single value like a search term. encodeURI leaves URL structure characters (:/?#&=) alone, so it is right for encoding an entire address without breaking it. The 'whole URL' toggle switches between them.
Why does a space sometimes become %20 and sometimes +?
In the path and general URLs a space is %20. In the query string of HTML form submissions it is often encoded as +. This tool encodes spaces as %20 and, when decoding query parameters, also treats + as a space so both styles read correctly.
My decode shows an error — what went wrong?
Decoding fails when the input isn't valid percent-encoding, for example a lone % or an incomplete %X sequence. Check that every % is followed by two hex digits (0-9, A-F).
Is it safe to paste URLs with tokens?
Yes. All encoding and decoding happens in your browser with JavaScript — nothing is uploaded, logged, or stored.