A powerful, professional-grade engine for designing, rendering, and printing QR code layouts.
View Live Demo 1 (Showcasing both qrlayout-core & qrlayout-ui)
QR Layout Tool is a complete solution for developers building applications that need to generate dynamic, printable labels, stickers, or badges containing QR codes. Unlike simple "QR generators" that just output a single image, this tool allows you to design composed layouts with text, multiple QR codes, images, and dynamic data fields.
It is structured as a monorepo consisting of a core rendering engine and a visual designer UI.
qrlayout-ui).{{name}} or {{sku}} and batch generate thousands of unique labels.| Package | Description | Version | Links |
|---|---|---|---|
| qrlayout-core | The headless rendering engine. Handles Layout JSON parsing, data merging, and rendering to Canvas, ZPL, or PDF. Use this if you just need to generate files. | Docs | |
| qrlayout-ui | An embeddable Layout Designer. Provides a polished QRLayoutDesigner class and React components to let your users design their own labels inside your app. |
Docs |
If you only need to generate layouts:
npm install qrlayout-core
import { StickerPrinter } from "qrlayout-core";
const layout = { ... }; // Your Layout JSON
const data = { name: "Office Laptop", sku: "OL-M3-14" };
const printer = new StickerPrinter();
const zpl = printer.exportToZPL(layout, [data]);
// Output: ^XA^FO... (Ready for printer)
If you want to embed the designer in your React/Vue/Angular app:
npm install qrlayout-ui qrlayout-core
import { QRLayoutDesigner } from "qrlayout-ui";
import "qrlayout-ui/style.css";
const designer = new QRLayoutDesigner({
element: document.getElementById("editor"),
initialLayout: myLayout,
onSave: (layout) => saveToDb(layout)
});
This repository uses npm workspaces.
git clone https://github.com/shashi089/qr-code-layout-generate-tool.git
cd qr-code-layout-generate-tool
npm install
To start the local development server for the UI package and the demo app:
npm run dev:ui
This typically starts on http://localhost:5173.
# Build Core
npm run build:core
# Build UI
npm run build:ui
Contributions are welcome! Please fork the repository and open a pull request.
git checkout -b feature/cool-feature)git commit -am 'Add some cool feature')git push origin feature/cool-feature)MIT © Shashidhar Naik