QR Code Generator
Turn any link or short message into a scannable QR code you can download as an image.
Open tool →Encode query values, paths, or complete URLs with the browser’s standards-based URL functions, and decode percent-encoded text with clear errors for malformed input.
Use component mode for one query value and whole-URL mode when URL separators must remain intact. Decoding a plus sign does not turn it into a space here; form-encoded query parsing is a separate step.
| Input or check | Expected result or decision |
|---|---|
| Component: red shoes + café | red%20shoes%20%2B%20caf%C3%A9 |
| Whole URL: https://example.com/?q=red shoes | https://example.com/?q=red%20shoes |
| Encode %20 again | %2520; repeated encoding changes the meaning. |
| Decode component: a+b%20c | a+b c; the literal + stays +, while %20 becomes a space. |
| Decode malformed component: %ZZ | Error: This value contains malformed percent encoding or invalid UTF-8. Earlier output is cleared. |
Encoding an already encoded value can turn a percent sign into %25. Decode once, inspect the result, and avoid repeatedly applying transformations.
These tools open separately; inputs are not transferred.
Turn any link or short message into a scannable QR code you can download as an image.
Open tool →Convert text to Base64 and back, entirely in your browser.
Open tool →Pretty-print, minify, and validate JSON directly in your browser.
Open tool →Convert quoted CSV data into JSON arrays or objects locally.
Open tool →Encoding and decoding happen in your browser. Input text is not sent to an Anvil processing server.
Encoding a component is different from encoding a whole URL. Form encoding can treat plus signs differently, and decoding does not make an untrusted destination safe.
Use component mode for a query value, form value, or single path segment. Use complete URL mode when the separators in a full URL must remain readable.
A percent sign must be followed by two hexadecimal digits, and the decoded bytes must form valid UTF-8. Malformed input is rejected instead of returning damaged text.
Check for an incomplete percent sequence or invalid encoded UTF-8. Choose component mode for one query value and URI mode for a complete URL. Avoid encoding an already encoded value again, and check how the receiving application treats plus signs.
That commonly happens when an already encoded value is encoded again. Inspect the original value and apply the transformation once at the correct boundary.
No. Decoding only changes the representation. Review the complete destination and do not open a suspicious link merely because it is readable.
URL Encoding Mistakes: Spaces, Plus Signs, Unicode, and Double Encoding
Fifteen tested URL-encoding cases explain literal plus signs, form-query spaces, Unicode, reserved characters, and double encoding, with reusable fixtures.
Debug API Data with JSON, Base64, and Browser Tools
Work through JSON types, encoding, URL components, JWT claims, hashes, CSV conversion, and timestamps with small reproducible examples.