Home › Developer Tools

URL Encoder & Decoder

Percent-encode or decode URLs and query-string values, with the option to encode an entire URL or only a parameter value.

Two different jobs, two different buttons

Percent-encoding is where most hand-built API calls break. There are two modes and using the wrong one is what produces double-encoded URLs:

Symptoms of a double-encoded URL

If a redirect target becomes q=caf%25C3%25A9, the value was encoded twice: the % from the first pass became %25 in the second. Decoding once fixes it. Non-obvious characters worth remembering: a space becomes %20 in a path but + in a form-encoded query body, and # must always be escaped inside a value or the browser treats the rest of the string as a fragment.

Frequently asked questions

Should I use %20 or + for a space?

'%20' works everywhere. '+' only means space in application/x-www-form-urlencoded bodies, and is a literal plus in a URL path.

Why did my URL get encoded twice?

An already-encoded string was passed through the encoder again, turning '%' into '%25'. Decode once to recover it.

Which characters never need encoding?

A-Z, a-z, 0-9, hyphen, underscore, period and tilde. Everything else is legal to encode and often must be.

Related tools

Word Counter

Count words, characters, sentences and paragraphs as you type, with an estimated reading time. Runs entirely in your browser.

Character Counter

Count characters with and without spaces, letters, digits and punctuation, plus a letter frequency table for any text.

Case Converter

Convert text between eight letter cases instantly: uppercase, lowercase, title case, sentence case, camelCase, PascalCase, snake_case and kebab-case.

JSON Formatter & Validator

Format messy JSON with clean indentation, minify it back, or find the exact position of a syntax error. Runs locally in your browser.