The common QR generators upload your payload to produce the image. For a WiFi password or an internal URL, that is a real exposure.
| Capability | jsonversal | Typical web generator | Library (qrcode.js) |
|---|---|---|---|
| Payload leaves the browser | Never | Usually yes | N/A — runs locally |
| WiFi / vCard payloads | Yes | Yes | Requires code |
| PNG and SVG export | Yes | Usually | Yes |
| Custom colours & size | Yes | Yes | Yes |
| Account required | No | Often for branding | No |
| Works offline | Yes after first load | No | Yes |
For a one-off QR that encodes a café WiFi password, an access token in a URL, or an internal hostname, the upload is the part worth avoiding. A client-side generator produces the same image with the payload never leaving the tab. If you need QR codes inside a product, use a library.