npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@burnmark-io/sheet-templates

v0.1.1

Published

Sticker sheet template registry — Avery, Herma, Zweckform, and hundreds more

Readme

@burnmark-io/sheet-templates

npm license templates brands

A zero-runtime-dependency JSON registry of sticker sheet specifications — 1599 templates across 56 brands including Avery, Herma, Zweckform, APLI, Dymo, Online Labels, Worldlabel, Rayfilm, SheetLabels, Uline, and many more.

Built for @burnmark-io/designer-core so label designs can be tiled onto any standard A4, US-Letter, or custom-size sticker sheet for PDF export — but usable from any TypeScript / JavaScript project that needs sheet dimensions.

Install

pnpm add @burnmark-io/sheet-templates
# or: npm install @burnmark-io/sheet-templates

Usage

import {
  SHEETS,
  findSheet,
  findByBrand,
  findBySize,
  findByPaper,
  listBrands,
  primaryLayout,
  type SheetTemplate,
  type SheetLayout,
} from '@burnmark-io/sheet-templates';

// Look up a known product code
const sheet = findSheet('avery-l7160');
//  → { code, name, brand: 'Avery', part: 'L7160', paperSize: 'A4',
//      paperWidthMm: 210, paperHeightMm: 297,
//      labelWidthMm: 63.5, labelHeightMm: 38.1, labelShape: 'rectangle',
//      cornerRadiusMm, layouts: [{ columns: 3, rows: 7, ... }], ... }

// All Avery sheets (case-insensitive)
findByBrand('Avery');

// Find by approximate label dimensions (default tolerance: 1 mm)
findBySize(63.5, 38.1);            // tight
findBySize(63.5, 38.1, 2);         // within 2 mm

// Filter by paper size
findByPaper('A4');
findByPaper('US-Letter');

// Enumerate the catalog
listBrands();
// → ['Agipa', 'APLI', 'Apli', 'Ascom', 'Avery', ...]

// Full registry, sorted by brand then part
SHEETS.length;                     // 1599

// Primary grid layout (shortcut for sheet.layouts[0])
primaryLayout(sheet).columns;      // 3

Data shape

interface SheetTemplate {
  code: string;            // e.g. 'avery-l7160' (brand-part, normalised)
  name: string;            // e.g. 'Avery L7160 — Address labels'
  brand: string;           // e.g. 'Avery'
  part: string;            // e.g. 'L7160'
  paperSize: string;       // 'A4', 'US-Letter', 'Other', ...
  paperWidthMm: number;
  paperHeightMm: number;
  labelWidthMm: number;
  labelHeightMm: number;
  labelShape: 'rectangle' | 'round' | 'ellipse';
  cornerRadiusMm?: number;
  layouts: SheetLayout[];  // one entry per <Layout>; multi-layout sheets have two or more
  marginMm?: number;       // non-printing bleed margin, when the source XML specifies one
  categories?: string[];   // e.g. ['label', 'mail']
}

interface SheetLayout {
  columns: number;         // nx
  rows: number;            // ny
  originXMm: number;       // x0 — top-left of the first label
  originYMm: number;       // y0
  pitchXMm: number;        // dx — centre-to-centre horizontal spacing
  pitchYMm: number;        // dy
}

layouts is an array because some real-world sheets (staggered business cards, offset grids) use two or three <Layout> elements to describe non-uniform cell placement. For the common single-grid case, layouts.length === 1 and primaryLayout(sheet) returns it directly.

Supported brands

Agipa, Apli, APLI, Ascom, Avery, Begalabel, Best Office, Biltem, Bruna, Cable Label Co, Celcast, Connect, DataBecker, Dataline, DECAdry, Dymo, Ednet, Encre.com, Endisch, Epson, Felga, Geha, Hama, Hema, Herma, Hisago, Igepa, Impact, JAC, Kingdom, Kores, Maco, Meritline, Micro Application, Neato, Netc, OfficeMax, Online Labels, PEARL, Poundland, Q-CONNECT, Rayfilm, Russian, Ryman, Sattleford, SheetLabels, Sigel, Southworth, Staples, Stomper, Tough-Tags, Uline, Viking, Worldlabel, Your Design, Zweckform.

How the data is built

Template data is sourced from the glabels-qt template database by Jaye Evins — hundreds of hand-curated XML definitions maintained since 2001 under the MIT license.

A build-time script (scripts/convert.ts) walks upstream/templates/*.xml, normalises every distance to millimetres, resolves equiv clone references, captures all <Layout> elements, skips CD/DVD media and continuous-roll templates, dedupes, and writes src/templates.json. Updating from upstream is a submodule pull and a pnpm run convert away — no manual data entry.

The published npm package ships only the generated JSON and a thin TypeScript wrapper. Zero runtime dependencies. fast-xml-parser and tsx are devDependencies used only during the build.

Attribution

Template data is sourced from the glabels-qt template database by Jaye Evins, licensed under the MIT License (see LICENSE-GLABELS). The gLabels project has been maintaining this catalog since 2001. Please credit upstream when redistributing.

License

MIT © 2026 Mannes Brak. See LICENSE for this package's code, and LICENSE-GLABELS for the template data.