Skip to content
Shrake DevTools
  • JSON FormatterData & Format
  • JSON ValidatorData & Format
  • JSON MinifierData & Format
  • JSON ↔ YAML ConverterData & Format
  • Base64 Encoder / DecoderData & Format
  • URL Encoder / DecoderData & Format
  • UUID GeneratorData & Format
  • Unix Timestamp ConverterData & Format
↑ ↓ to navigate↵ to openEsc to close

URL Encoder / Decoder

Percent-encode and decode URLs and URL components.

Runs locally in your browser. Your input is not uploaded.Free, no sign-up

A single value, e.g. a query parameter. Encodes & = / ? # too.

Text

Encoded

How to use the URL encoder and decoder

  1. Choose Encode or Decode.
  2. Pick the type: Component for a single value, Full URL for a complete address, or Form data for HTML form submissions.
  3. Type or paste your input. The result updates instantly.

Component vs full URL

Component encoding (JavaScript's encodeURIComponent) escapes every character with a special meaning in URLs, including &, =, /, ? and #. Use it for query parameter values and path segments.

Full URL encoding (encodeURI) leaves those characters alone so the URL keeps working, and only escapes spaces, non-ASCII characters and a few others.

  • Component: a b&c → a%20b%26c
  • Full URL: https://example.com/a b?q=é → https://example.com/a%20b?q=%C3%A9
  • Form data: a b&c → a+b%26c

Frequently asked questions

Why do I get "Malformed percent-encoding"?

A % must be followed by two hex digits, and multi-byte sequences must form valid UTF-8. A literal percent sign is written %25. The error shows where the problem is.

Should a space be %20 or +?

Both are common. %20 is correct everywhere in a URL. + means a space only in form-encoded data and query strings produced by HTML forms. Choose Form data to decode + as a space.

Is my input uploaded?

No. Everything runs in your browser.