1. framework components
  2. qr code

Qr Code

Render scannable QR codes with a frame, overlay, pattern, and download trigger.

Warning

This feature is currently marked as beta. Take caution when using for production. It may receive breaking changes before its stable release.

Skeleton Logo

Frame Colors

Use brand color for the frame and a contrasting fill for the QR pattern.

Overlay

Demonstrates an overlay with an icon and a contrasting square background to separate it visually from the pattern.

Skeleton Logo

Clickable download

Wrap the visual frame/pattern in the download trigger so clicking the code initiates a download.

Anatomy

Here’s an overview of how the QrCode component is structured in code:

tsx
import { QrCode } from '@skeletonlabs/skeleton-react';

export default function Anatomy() {
	return (
		<QrCode value="https://skeleton.dev">
			<QrCode.Frame>
				<QrCode.Pattern />
			</QrCode.Frame>
			<QrCode.Overlay />
			<QrCode.DownloadTrigger />
		</QrCode>
	);
}

API Reference

Root

Prop Default Type
element ((attributes: HTMLAttributes<"div">) => Element) | undefined

Render the element yourself

Provider

Prop Default Type
value Api<PropTypes>

element ((attributes: HTMLAttributes<"div">) => Element) | undefined

Render the element yourself

Context

Prop Default Type
children (qrCode: Api<PropTypes>) => ReactNode

DownloadTrigger

Prop Default Type
element ((attributes: HTMLAttributes<"button">) => Element) | undefined

Render the element yourself

Frame

Prop Default Type
element ((attributes: HTMLAttributes<"svg">) => Element) | undefined

Render the element yourself

Pattern

Prop Default Type
element ((attributes: HTMLAttributes<"path">) => Element) | undefined

Render the element yourself

Overlay

Prop Default Type
element ((attributes: HTMLAttributes<"div">) => Element) | undefined

Render the element yourself

View page on GitHub