Developer Tools

URL Encoder & Decoder

A query value and a complete address need different treatment. Select the context before converting so a literal ampersand stays data when it belongs inside a value, while URL separators retain their meaning when processing a whole URI.

Free online tool

Loading tool…

Encodes separators such as /, ?, &, and =. Spaces become %20; + remains a plus when decoded.

Quick context check

CharacterComponentForm valueComplete URI
Space%20+%20
+%2B%2B+
/%2F%2F/
&%26%26&
é%C3%A9%C3%A9%C3%A9

UTF-8 only. Invalid percent escapes and invalid UTF-8 are rejected. Encode exactly once for the intended context. Limit: 250,000 UTF-16 code units. No URL is opened or requested.

Conversions run locally in your browser. This tool does not upload input or save it to browser storage.

GET STARTED

How to use the URL Encoder & Decoder

  1. 01

    Choose percent encode or percent decode.

  2. 02

    Use URL component for one path or query value, form field for plus-as-space behavior, or complete URI for JavaScript encodeURI behavior.

  3. 03

    Paste the text and review the result and context table.

  4. 04

    Copy, download, or reverse the result. No address is opened.

Examples

One query value

In component mode, tea & cake becomes tea%20%26%20cake. The ampersand stays inside the value instead of starting a second query parameter.

A literal plus

In form-value mode, a+b c becomes a%2Bb+c. Decoding restores the literal plus and the space separately.

Choose where the value belongs

Component mode uses encodeURIComponent and decodeURIComponent. Form mode encodes a single field value, including its plus-as-space convention. It does not split name/value pairs or serialize a whole form.

Complete URI mode preserves delimiters

A complete URI can contain meaningful colons, slashes, question marks, ampersands, and hashes. encodeURI leaves those delimiters intact. decodeURI also leaves percent escapes for reserved delimiters intact, so %2F can remain %2F.

Decode errors are useful evidence

A percent sign needs two hexadecimal digits, and percent-encoded non-ASCII bytes must form valid UTF-8. This tool reports a malformed escape instead of silently discarding information. Avoid repeatedly encoding an already encoded value unless a surrounding protocol explicitly requires it.

What to know

  • UTF-8 encoding only; 250,000 UTF-16 code units per input.
  • Form mode converts a single value, not a complete query string.

Common questions

Why did a plus sign become a space?

That happens only in form-value decoding. Component and complete URI decoding keep a literal plus sign.

Why does %2F remain encoded in complete URI mode?

decodeURI preserves escapes for reserved delimiters. Decode one value with component mode when you need %2F to become an ordinary slash.

Can this validate an entire web address?

No. It converts text according to the chosen encoding function. It does not validate a host, resolve DNS, or confirm that an address is safe or reachable.

Sources & references