URL Encode / Decode

Percent-encode or decode text for URLs, and inspect any link as protocol, host, path and query parameters.

Input
Output

How to encode and decode URLs

  1. Choose Encode or Decode, then type or paste your text or link.
  2. For encoding, pick Component for a single value such as a search term, or Full URL to keep the structure of a whole link intact.
  3. Copy the result. Any valid URL is also broken into protocol, host, path and query parameters below.

Features

Three encoding modes

Component, full URL and form-style (+) encoding.

URL breakdown

See host, path and each query parameter decoded.

UTF-8 aware

Accents and emoji become correct %XX sequences.

Private

Everything is generated in your browser; nothing is sent or stored.

Frequently asked questions

What is URL encoding?

URL (percent) encoding replaces characters that are unsafe in a URL with a % followed by two hex digits, so a space becomes %20 and é becomes %C3%A9. It lets any text be passed safely in a link.

What is the difference between Component and Full URL encoding?

Component encoding (encodeURIComponent) escapes everything except letters, digits and - _ . ! ~ * ’ ( ), which is right for a query value. Full URL encoding (encodeURI) leaves : / ? # & = intact so the link still works.

Why do I see + instead of %20?

HTML form submissions use + for spaces in the query string. Form data mode produces that style, and Decode treats + as a space by default.

Why does decoding fail with a “malformed” error?

A stray % that is not followed by two hex digits (for example 100% or %zz) is not valid percent-encoding. Encode literal percent signs as %25.