Skip to content

@qrcodesdk/browser

@qrcodesdk/browser adds renderers that depend on browser DOM APIs. Use it with @qrcodesdk/core when your output should be an element created in the browser or a browser-triggered download.

Terminal window
pnpm add @qrcodesdk/core @qrcodesdk/browser
import {ImageQRCodeRenderer} from '@qrcodesdk/browser';
import {qrcode} from '@qrcodesdk/core';
const image = qrcode('https://qrcodesdk.dev').render(
ImageQRCodeRenderer({
alt: 'QR code for qrcodesdk.dev',
}),
);
document.body.append(image);
import {CanvasQRCodeRenderer} from '@qrcodesdk/browser';
import {qrcode} from '@qrcodesdk/core';
const canvas = qrcode('https://qrcodesdk.dev').render(CanvasQRCodeRenderer());
document.body.append(canvas);
import {DownloadImageQRCodeRenderer, ImageQRCodeRenderer} from '@qrcodesdk/browser';
import {qrcode} from '@qrcodesdk/core';
qrcode('https://qrcodesdk.dev').render(
DownloadImageQRCodeRenderer({
renderer: ImageQRCodeRenderer(),
filename: 'qrcode',
}),
);
  • appending QR codes directly to a browser page
  • styling image elements with CSS
  • drawing QR codes into canvas workflows
  • creating client-side SVG and PNG downloads

@qrcodesdk/browser does not replace @qrcodesdk/core. The core package still provides qrcode(), matrix generation, builder options, and shared styling normalization.