How to make a QR code that always scans
Size, contrast, quiet zone, error correction and content types: the checklist before you print a QR code.
Percent-encode URL components or full URLs.
Runs in your browser
Component (encodeURIComponent): for a parameter value or a path segment. It also encodes / ? & = # so they don't break the URL.
Output
caf%C3%A9%20%26%20t%C3%A9%3A%2050%25%20m%C3%A1s
URLs only allow certain characters; spaces, accents and symbols must be percent-encoded (a space becomes %20 and é becomes %C3%A9). This tool encodes and decodes in both directions.
It separates encoding a component — such as a parameter value — from encoding a full URL, the most common source of mistakes. If the result is a URL, you'll see its parts and decoded parameters.
“tea & café” as a component → tea%20%26%20caf%C3%A9. The & is encoded and won't be mistaken for another parameter.
https://example.com/my file.pdf as a full URL → https://example.com/my%20file.pdf, leaving :// and / untouched.
Both mean a space, but + only in the query part of form submissions (application/x-www-form-urlencoded). In paths, use %20.
That's the % sign itself. If you see %2520, the text was encoded twice.
Yes, as several %XX sequences, because they're converted to UTF-8 bytes first.
Size, contrast, quiet zone, error correction and content types: the checklist before you print a QR code.