qr-code

Animated React component — QrCode / QrCodeIcon

Hover the qr-code icon above to see the default draw animation.

Import

Tree-shakable named import — only the icons you reference end up in your bundle.

import { QrCode } from "lucide-motion";

Also exported as QrCodeIcon for the Lucide-suffix naming convention.

Quick start

Drop the component into your JSX. The default trigger plays the draw animation on hover.

import { QrCode } from "lucide-motion";

<QrCode size={32} />
Timing presets · hover to play
Snappy
duration={0.2} stagger={0}
Cinematic
duration={1.5} stagger={0.4}
Linear
easing="linear"
Spinner
trigger="mount" repeat={Infinity}
Tags
barcodescanlinkurlinformationdigital
Related icons

Raw node data

The icon's underlying SVG node tree — useful if you need to render or transform it yourself instead of using the component.

Show IconNode[]
[
  [
    "rect",
    {
      "width": "5",
      "height": "5",
      "x": "3",
      "y": "3",
      "rx": "1"
    }
  ],
  [
    "rect",
    {
      "width": "5",
      "height": "5",
      "x": "16",
      "y": "3",
      "rx": "1"
    }
  ],
  [
    "rect",
    {
      "width": "5",
      "height": "5",
      "x": "3",
      "y": "16",
      "rx": "1"
    }
  ],
  [
    "path",
    {
      "d": "M21 16h-3a2 2 0 0 0-2 2v3"
    }
  ],
  [
    "path",
    {
      "d": "M21 21v.01"
    }
  ],
  [
    "path",
    {
      "d": "M12 7v3a2 2 0 0 1-2 2H7"
    }
  ],
  [
    "path",
    {
      "d": "M3 12h.01"
    }
  ],
  [
    "path",
    {
      "d": "M12 3h.01"
    }
  ],
  [
    "path",
    {
      "d": "M12 16v.01"
    }
  ],
  [
    "path",
    {
      "d": "M16 12h1"
    }
  ],
  [
    "path",
    {
      "d": "M21 12v.01"
    }
  ],
  [
    "path",
    {
      "d": "M12 21v-1"
    }
  ]
]