TailwindQR
Why scan a library when you can scan a class?
className your way to QR codes!
React Server ComponentsZero ConfigPNG + SVGBracket Syntax
<QR className="qr-encode-[https://github.com]" />renders
Syntax Reference
<QR className="qr-encode-[{content}][-size-{n}][-ec-{L|M|Q|H}][-fg-{hex}][-bg-{hex}]" />qr-encode-[URL]Bracket syntax
qr-encode-$aliasConfig alias
-size-lgSize preset
-ec-HError correction
-fg-000Foreground
-bg-fffBackground
Size Presets
| Preset | Size | Preview |
|---|---|---|
sm | 64x64 | |
md (default) | 128x128 | |
lg | 256x256 | |
xl | 512x512 |
Live Examples
Real QR codes generated from className
Error Correction
Higher = more damage resistance, larger QR
SVG Output
Use as="svg" for inline SVG
How to Use
// Basic usageimport { QR } from '@tailwind-stack/qr'<QR className="qr-encode-[https://example.com]" />// With config (lib/qr-config.ts)import { setConfig } from '@tailwind-stack/qr'setConfig({ aliases: { homepage: 'https://example.com', wifi: 'WIFI:T:WPA;S:Net;P:pass;;', }})// Then use alias<QR className="qr-encode-$homepage-size-lg" />Programmatic API
import { generateQRCode } from '@tailwind-stack/qr'// Generate QR as data URLconst dataUrl = await generateQRCode( 'https://example.com', { size: 256, errorCorrection: 'H', format: 'png' // or 'svg'})