Renderer outputs
Renderers convert the same QRCodeMatrix into different output values. Choose by the value your
application needs, then install the owning package.
| Output | Renderer | Return type | Package | Runtime | Best use case |
|---|---|---|---|---|---|
| SVG string | QRCodeSVGRenderer |
string |
@qrcodesdk/core |
Any Core-compatible runtime | Scalable web, email, print, and server output |
| Terminal text | QRCodeTextRenderer |
string |
@qrcodesdk/core |
UTF-8 text environment | Terminals, logs, CLIs, and snapshots |
| Canvas element | QRCodeCanvasRenderer |
HTMLCanvasElement |
@qrcodesdk/browser |
Browser DOM | Drawing, compositing, and manual raster export |
| PNG-backed Image element | QRCodeImageRenderer |
HTMLImageElement |
@qrcodesdk/browser |
Browser DOM | Accessible DOM image and CSS workflows |
| SVG browser download | QRCodeDownloadSVGRenderer |
void |
@qrcodesdk/browser |
Browser DOM | User-triggered scalable file download |
| PNG browser download | QRCodeDownloadImageRenderer |
void |
@qrcodesdk/browser |
Browser DOM | User-triggered raster file download |
| PNG Buffer | QRCodePNGRenderer |
Buffer |
@qrcodesdk/node |
Node.js-compatible runtime | Files, HTTP responses, and attachments |
Framework packages wrap the same output families in components: see React and Next.js, Vue, Svelte, or Angular. To produce another return type, implement the custom renderer contract.