- Accordion new
- ActionSheet new
- Alert new
- Alert Dialog new
- Angle Slider new
- Autocomplete new
- Avatar new
- Badge new
- Breadcrumb new
- Button new
- Button Group new
- Card new
- Carousel new
- Checkbox new
- Clipboard new
- Collapsible new
- Color Picker new
- Date Input new
- Date Picker new
- Dialog new
- DialogCaller new
- Drawer beta
- Editable new
- Empty new
- Field new
- Fieldset new
- File Upload new
- Filters new
- Floating Panel new
- Hover Card new
- Image new
- Image Cropper new
- Input new
- Input Group new
- Json Tree View new
- Kbd new
- Listbox new
- Marquee new
- Menu new
- Number Input new
- Pagination new
- Password Input new
- PhoneField new
- Pin Input new
- Popover new
- Progress Circular new
- Progress Linear new
- Qr Code new
- Radio Group new
- Rating Group new
- Scroll Area new
- ScrollSpy new
- Segment Group new
- Select new
- Separator new
- Sidebar new
- Signature Pad new
- Skeleton new
- Slider new
- Splitter new
- Steps new
- Switch new
- Table new
- Tabs new
- Tags Input new
- Textarea new
- Timeline new
- Timer new
- Toast new
- Toc new
- Toggle new
- Toggle Group new
- Tooltip new
- Tour new
- Tree View new
- Typography new
Qr Code
Vue QR code generator to encode URLs and text as scannable codes for sharing and auth flows.
Installation
Install from the Vuzeno registry:
bunx --bun shadcn-vue@latest add https://vuzeno.com/r/qr-code.json
npx shadcn-vue@latest add https://vuzeno.com/r/qr-code.json
yarn dlx shadcn-vue@latest add https://vuzeno.com/r/qr-code.json
pnpm dlx shadcn-vue@latest add https://vuzeno.com/r/qr-code.json
Usage
<script setup lang="ts">
import { QrCode } from "@/components/ui/qr-code";
</script>
<template>
<QrCode.Root default-value="http://ark-ui.com">
<QrCode.Frame>
<QrCode.Pattern />
</QrCode.Frame>
</QrCode.Root>
</template>
Composition
QrCode.Root
├── QrCode.Frame
│ └── QrCode.Pattern
├── QrCode.Overlay
├── QrCode.DownloadTrigger
├── QrCode.Context
└── QrCode.RootProvider
Examples
With Overlay
You can also add a logo or overlay to the QR code. This is useful when you want to brand the QR code.
Error Correction
In cases where the link is too long or the logo overlay covers a significant area, the error correction level can be increased.
Use the encoding.ecc or encoding.boostEcc property to set the error correction level:
L: Allows recovery of up to 7% data loss (default)M: Allows recovery of up to 15% data lossQ: Allows recovery of up to 25% data lossH: Allows recovery of up to 30% data loss
Root Provider
An alternative way to control the QR code is to use the RootProvider component and the useQrCode hook. This way you can access the state and methods from outside the component.
Download
Use the QrCode.DownloadTrigger component to allow users to download the QR code as an image. Specify the fileName and mimeType props for the downloaded file.
API
See Ark UI Qr Code docs for full props and examples.