URL Encode / Decode
Percent-encode or decode URLs and query strings, edit query parameters in a key/value table, batch-process lists line by line, and highlight encoded characters.
URL Encode / Decode — Percent-encode text for safe use in URLs or decode it back, with Component, Whole URI, and application/x-www-form-urlencoded (spaces as +) scopes. Switch to Query mode to break a URL into an editable key/value table and reassemble it, or Batch mode to encode or decode a whole list one line at a time. Encoded characters are highlighted in the output, and everything runs entirely in your browser.
What is URL Encode / Decode?
URL Encode / Decode is a free online URL encoder, decoder, and query-string editor. In Text mode it percent-encodes or decodes a single value using Component (encodeURIComponent), Whole URI (encodeURI), or Form (application/x-www-form-urlencoded, spaces as +) scope. Query mode parses a URL or bare query string into an editable key/value table built with URLSearchParams, letting you add, edit, and remove rows before it rebuilds a normalized URL. Batch mode encodes or decodes a list line by line, and the output view highlights exactly which characters were percent-encoded. Developers, QA testers, and API users rely on it to escape parameter values, clean up messy query strings, and round-trip %20 / %3A / %2F strings.
How to use URL Encode / Decode
- Pick a mode: Text for a single value, Query to edit a URL’s parameters, or Batch for a list.
- In Text or Batch mode choose Encode or Decode and a scope — Component, Whole URI, or Form (spaces as +).
- Paste your text, URL, or list into the input; the result updates live in the output below.
- In Query mode edit the key/value table — change a key or value, Add a row, or remove one — and the URL is reassembled automatically.
- Read the highlighted output to see which characters were percent-encoded, then copy the result or use Swap to round-trip in Text/Batch mode.
Examples
Form-encode a value (spaces as +)
Input
hello world & more
Output
hello+world+%26+more
Edit a query string
Input
https://x.com/s?q=cat dog&page=2
Output
https://x.com/s?q=cat+dog&page=2
Batch-decode a list
Input
a%20b c%2Fd
Output
a b c/d
Frequently asked questions
- What does Query mode do?
- Query mode splits a URL at the first ? into a base and an editable key/value table built with URLSearchParams. Change any key or value, add rows, or delete them, and the tool rebuilds a normalized URL below (spaces become +). Pasting a bare query string like a=1&b=2 works too.
- What is Form (application/x-www-form-urlencoded) scope?
- Form scope encodes spaces as + instead of %20 and percent-encodes the same characters a browser uses when submitting an HTML form or building a URLSearchParams string — use it for form bodies and query values. Component and Whole URI use standard percent-encoding (%20 for a space).
- How does Batch mode handle a list?
- Batch mode encodes or decodes each line independently and keeps blank lines. If a line cannot be decoded (a malformed % sequence), it is left unchanged and the tool reports how many lines failed, so one bad line never breaks the rest.
- What do the highlighted characters mean?
- The output preview highlights every percent-encoded sequence (%XX), plus the + that stands for an encoded space in Form and Query modes, so you can see at a glance exactly what changed.
- Is my data uploaded to a server?
- No. All encoding, decoding, and query editing runs entirely in your browser with the built-in JavaScript URL functions. Nothing is uploaded, stored, or sent anywhere, so it is safe for private URLs, tokens, and internal links.
Related tools
Base32 / Base58 Encode / Decode
Encode text to Base32 (RFC 4648) or Base58 (the Bitcoin alphabet) and decode either one back to text, fully UTF-8 safe and entirely in your browser.
Base64 Encode / Decode
Encode or decode Base64 (UTF-8 safe) with a URL-safe alphabet, optional padding, 64/76 line wrapping, live byte and character counts, and a hex/binary byte view.
Case Converter & Counter
Convert text between UPPERCASE, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case and more, and count characters, words and lines.
Code Formatter & Minifier
Beautify or minify HTML, CSS and JavaScript instantly in your browser, with 2-space, 4-space or tab indentation and Terser-powered JavaScript compression.