URL Encoder
Percent-encode text so it's safe to use as a URL query parameter or path segment. Encodes every reserved character, including an already-encoded % itself.
Full Reserved-Character Coverage
Encodes every character outside the unreserved set, not just spaces.
Handles Large Text
Encodes strings up to 50MB without freezing the page.
Local Processing
Your data never leaves your browser. Privacy first encoding.
How to URL-Encode Text
- Paste the raw value you need to make URL-safe — a search query, a redirect target, any parameter value with special characters.
- Click Encode.
- Every reserved and non-ASCII character comes back percent-encoded.
- Drop the result into your query string or path segment.
Example: Encoding a Value Full of Reserved Characters
Input — raw text
price=€20 & note=50% off
Output — percent-encoded
price%3D%E2%82%AC20%20%26%20note%3D50%25%20off
Note that =, &, and % themselves are encoded (%3D, %26, %25) — and the euro sign becomes three bytes, %E2%82%AC, because percent-encoding operates on UTF-8 bytes.
Encode values, not whole URLs
This tool encodes every reserved character, including = and & — which is exactly right for a single parameter value, and exactly wrong for a complete URL, where those characters are doing structural work. Encode each dynamic value separately, then assemble the URL around the encoded pieces.
Why unencoded values break things
An unencoded & in a value silently splits your parameter in two; an unencoded % followed by two hex-looking characters gets misread as an escape sequence; spaces end the URL entirely in many contexts. These bugs tend to surface only when real user data hits the URL — encoding up front is how you never meet them.
Frequently Asked Questions
%20 is the correct percent-encoding for a space per RFC 3986, and what this tool produces. The "+" convention comes from a different, older spec — application/x-www-form-urlencoded, used for HTML form submissions — and only applies there, not to URLs or query values in general. If you specifically need form-encoded output, this general-purpose encoder is not the right fit for that one character.
Yes, exactly — this runs encodeURIComponent, which percent-encodes every character outside the small "unreserved" set (letters, digits, and - _ . ~). That is deliberately more aggressive than encodeURI, which leaves things like / and & alone because it assumes you're encoding a whole URL rather than a single value. Use this tool for a value going into a query string or path segment, not for a complete URL.
No. Encoding runs entirely in your browser via encodeURIComponent — nothing you paste here is ever transmitted anywhere.
Yes — it encodes every character it sees with no attempt to detect whether a % is already part of an encoded sequence, so re-running an already-encoded string through this tool turns its % signs into %25 and doubles the encoding. This is intentional (there's no reliable way to tell "already encoded" from "a literal % in your text" without guessing), so only encode each value once.
Related Tools
URL Decode
Decode percent-encoded URLs back to readable text.
JSON Formatter
Make messy, minified JSON readable with customizable indentation.
JSON Validator
Check JSON validity with precise line/column errors.
Base64 Decoder
Decode Base64 text back to readable Unicode instantly.
JSON to YAML
Convert JSON documents to clean, indented YAML.
JSON to XML
Convert JSON into well-formed XML markup.