QRCodeSDK
Build QR codes with a single TypeScript-first API, then render them in the format your app needs.
Start with your stack
Section titled “Start with your stack”npm install @qrcodesdk/corepnpm add @qrcodesdk/corevp add @qrcodesdk/coredeno add @qrcodesdk/corebun add @qrcodesdk/coreyarn add @qrcodesdk/coreRender a scalable SVG string with the runtime-neutral Core package:
import {QRCodeSVGRenderer, qrcode} from '@qrcodesdk/core';
const svg = qrcode('https://qrcodesdk.dev').render(QRCodeSVGRenderer());SVG is the recommended default for most user-facing QR codes: it stays sharp at any size and works in browsers, servers, email, and static assets.
npm install @qrcodesdk/core @qrcodesdk/browserpnpm add @qrcodesdk/core @qrcodesdk/browservp add @qrcodesdk/core @qrcodesdk/browserdeno add @qrcodesdk/core @qrcodesdk/browserbun add @qrcodesdk/core @qrcodesdk/browseryarn add @qrcodesdk/core @qrcodesdk/browserRender a PNG-backed image element in the browser:
import {QRCodePNGImageRenderer} from '@qrcodesdk/browser/png';import {qrcode} from '@qrcodesdk/core';
const image = qrcode('https://qrcodesdk.dev').render(QRCodePNGImageRenderer());
document.body.append(image);npm install @qrcodesdk/core @qrcodesdk/nodepnpm add @qrcodesdk/core @qrcodesdk/nodevp add @qrcodesdk/core @qrcodesdk/nodedeno add @qrcodesdk/core @qrcodesdk/nodebun add @qrcodesdk/core @qrcodesdk/nodeyarn add @qrcodesdk/core @qrcodesdk/nodeRender PNG bytes on the server, or WebP, GIF, and JPEG bytes with their renderers:
import {qrcode} from '@qrcodesdk/core';import {QRCodePNGRenderer} from '@qrcodesdk/node';
const png = qrcode('https://qrcodesdk.dev').render(QRCodePNGRenderer());npm install @qrcodesdk/reactpnpm add @qrcodesdk/reactvp add @qrcodesdk/reactdeno add @qrcodesdk/reactbun add @qrcodesdk/reactyarn add @qrcodesdk/reactRender an SVG component in React or Next.js:
import {QRCodeSVG} from '@qrcodesdk/react';
export function App() { return <QRCodeSVG payload="https://qrcodesdk.dev" />;}npm install @qrcodesdk/vuepnpm add @qrcodesdk/vuevp add @qrcodesdk/vuedeno add @qrcodesdk/vuebun add @qrcodesdk/vueyarn add @qrcodesdk/vueRender an SVG component in Vue:
<script setup lang="ts">import {QRCodeSVG} from '@qrcodesdk/vue';</script>
<template> <QRCodeSVG payload="https://qrcodesdk.dev" /></template>npm install @qrcodesdk/sveltepnpm add @qrcodesdk/sveltevp add @qrcodesdk/sveltedeno add @qrcodesdk/sveltebun add @qrcodesdk/svelteyarn add @qrcodesdk/svelteRender an SVG component in Svelte:
<script lang="ts"> import {QRCodeSVG} from '@qrcodesdk/svelte';</script>
<QRCodeSVG payload="https://qrcodesdk.dev" />npm install @qrcodesdk/angularpnpm add @qrcodesdk/angularvp add @qrcodesdk/angulardeno add @qrcodesdk/angularbun add @qrcodesdk/angularyarn add @qrcodesdk/angularRender a standalone SVG component in Angular:
import {Component} from '@angular/core';import {QRCodeSVG} from '@qrcodesdk/angular';
@Component({ selector: 'app-root', imports: [QRCodeSVG], template: '<qrcode-svg payload="https://qrcodesdk.dev" />',})export class App {}Compare packages by runtime and output in Choose your setup. For terminal commands, start with the CLI.
Next step
Section titled “Next step”Try the Playground to explore appearance visually, or follow Customize appearance to style your QR code.