Skip to content

URL Encoder and Decoder

Mode
Scope
Also encodes reserved characters (: / ? # & =) - use for a single query value or path segment.

Text

Encoded

Example

How to use

  1. 1.

    Choose Encode or Decode, then set Scope: Component for a single query value or path segment, Full URL for a complete address

  2. 2.

    Type or paste into the input panel - the result updates as you type

  3. 3.

    Turn on "+ as space" for form data and query strings that write spaces as +

  4. 4.

    Copy the result, or press Swap to use it as the input and reverse the mode

Common uses

  • ▸

    Encoding query parameters with special characters before sending an API request

  • ▸

    Decoding a percent-encoded URL to make it human-readable

  • ▸

    Debugging URLs that contain spaces, accented characters, or symbols

Frequently asked questions

What is percent-encoding?

Percent-encoding (URL encoding) replaces each character that is not allowed in a URL with the bytes of its UTF-8 encoding, each written as % followed by two hexadecimal digits. A space becomes %20 and é becomes %C3%A9.


When should I encode a full URL vs. just a query value?

Use the Component scope (JavaScript's encodeURIComponent) for individual query values or path segments - it also encodes the reserved characters : / ? # & = so they cannot break the URL around them. Use Full URL (encodeURI) for a complete URL; it leaves those reserved characters intact and only encodes spaces, %, non-ASCII characters, and other characters that are not allowed in a URL. Decoding follows the same split: Full URL leaves escaped reserved characters such as %2F and %3F encoded.


Why are spaces sometimes + instead of %20?

HTML forms submit data as application/x-www-form-urlencoded, where a space is written as +. Turn on "+ as space" to decode such query strings correctly or to encode in that style; a literal plus sign is then written as %2B.


What characters are always safe in URLs?

Letters (A–Z, a–z), digits (0–9), and the characters - _ . ~ are unreserved and never need encoding.


Is my data sent to a server?

Encoding and decoding run entirely in your browser. No data is transmitted anywhere.