Skip to content
AllToolsDesk

Popular

  • JSON Formatter & ValidatorFormat, minify and validate JSON with error locations.
  • CSS FormatterBeautify CSS, SCSS and Less with Prettier.
  • CSS MinifierCompress CSS and see the bytes saved.
  • JavaScript FormatterBeautify JavaScript and TypeScript.
  • JavaScript MinifierMinify JavaScript with Terser.
  • HTML FormatterIndent HTML, including inline CSS and JS.
  • JPG to PDFTurn images into a PDF, one per page.
  • Merge PDFCombine several PDFs into one file.
38 free toolsSee all tools

URL Encode / Decode

Percent-encode text for URLs, decode %20-style escapes, and split a URL into its parts and query parameters. Full UTF-8 support, in your browser.

Runs in your browser. Nothing is uploaded.

Ready.

About the URL Encode / Decode

URLs can only contain a limited set of characters. Spaces, accented letters and symbols like & or # must be percent-encoded (for example, a space becomes %20) or they break the address or change its meaning.

Encoding is needed when you build query strings by hand, pass a URL inside another URL (such as a redirect parameter), or prepare values for an API. Decoding turns escaped text from logs, analytics or browser address bars back into something readable. The URL parser splits an address into its scheme, host, path, query parameters and fragment, which helps when debugging tracking links or long redirect chains.

How to use the URL Encode / Decode

  1. 1

    Paste text or a URL, open a file, or load the sample.

  2. 2

    Pick how to encode: Component for a single query value or path segment, Full URL to keep : / ? & = intact, or Form to turn spaces into +.

  3. 3

    Press Encode or Decode. Decoding reports the position of a broken % escape.

  4. 4

    Press Parse URL to see the scheme, host, path, decoded query parameters and fragment as JSON.

Examples

1Encode a query value
Before
red shoes & bags
After
red%20shoes%20%26%20bags
2Accented and non-Latin text becomes UTF-8 escapes
Before
café/東京
After
caf%C3%A9%2F%E6%9D%B1%E4%BA%AC

Good to know

  • Component mode also escapes ! ' ( ) and *, following RFC 3986. Full URL mode cannot tell a literal & or = in a value from one that separates parameters, so encode values one by one in Component mode when that matters.
  • Parse URL needs a complete URL with a scheme, such as https://. Passwords in a URL are shown as (hidden).
  • Decoding does not turn + into a space unless Form is selected, because + is a literal plus sign outside form data.

Frequently asked questions

What is the difference between %20 and +?

Both can mean a space. %20 works anywhere in a URL. + means a space only in form-encoded query strings (application/x-www-form-urlencoded); elsewhere it is a literal plus.

Why does decoding say the escapes are not valid UTF-8?

The text was probably encoded with an older character set such as Latin-1. Each % escape is a byte, and those bytes do not form valid UTF-8 characters.

Is my code uploaded to a server?

No. Processing happens entirely in your browser, in a background thread. Your input is never sent to our servers or stored anywhere.

More tools that pair well with this one.

Browse all tools