BRev Free Tools
At BRev Digital, essentials should be a right — free, forever.
Open in workspacekeep several tools open at once
All tools
URL toolkit

URL encoder / decoder — free

Four encode modes with the exact characters each affects, decoding that pinpoints malformed %-sequences instead of failing, an editable query-parameter table with a live rebuilt URL, full URL anatomy with punycode & homograph warnings, and JSON ⇄ query-string conversion — all on your device.

For ONE piece of a URL (a query value, a path segment). Escapes everything except A–Z a–z 0–9 - _ . ! ~ * ' ( ). Space → %20. Also escapes & = ? # / : so the value cannot break the URL around it.
Plain text
Encoded
Everything runs on your device — URLs, tokens and parameters are never uploaded.
URL encoding, explainedthe two rules behind every mode above

%20 or + for a space?

Both mean “space”, in different places. %20 is the RFC 3986 percent-encoding and is always safe. + means space only inside an application/x-www-form-urlencoded query string (what an HTML form submits) — in a path, + is just a plus sign. That asymmetry is the classic URL bug: encode a literal + as %2B or the server will read it back as a space. The builder above always emits %20 and %2B, so its URLs mean the same thing everywhere.

Reserved vs unreserved characters (RFC 3986)

Unreserved — never need encodingA–Z a–z 0–9 - . _ ~
Reserved delimiters — encode when literal: / ? # [ ] @ (gen-delims) and ! $ & ' ( ) * + , ; = (sub-delims)
JS gapencodeURIComponent leaves ! ' ( ) * bare even though RFC 3986 reserves them — the “strict RFC 3986” mode above closes that gap.

A reserved character is fine when it is doing its job (? starting the query, & separating pairs) and must be percent-encoded when it is data (& inside a company name). That is why a whole URL and a single component are encoded differently — and why this tool makes you choose.