Skip to content

Labelarium Labelarium

License: AGPL-3.0 Live PWA Static

Search for the frame or symbol, see the picture, then follow the key-press recipe on the device.

Use it at labelarium.com. Skip the buried Frame/Symbol menus and the insertion sheet. Unofficial, free, and offline once you save a pack. Deepest on the Brother PT-D220 and PT-D210. Also DYMO, NIIMBOT, Brady, Phomemo, and other Brother models.

Plain HTML/CSS/JS, zero dependencies, hosted on GitHub Pages.

Screenshots

Phone UI (iPhone frame).

Labelarium home with ten label-maker tiles Brother PT-D220 device home PT-D220 Signs pictograph grid PT-D220 frames list

PT-D220 keyboard map PT-D220 label preview with HOME DYMO LabelManager 160 device home

Shot What it shows
Home Brand chips and square tiles for every supported maker
Device home Section tiles for one model (search, symbols, frames, preview, …)
Symbols Pictograph category with on-device steps
Frames Numbered frames with sheet crops
Keyboard Annotated keyboard map, tap to zoom
Preview Live tape + key-press recipe fields
DYMO LM160 Same shell on a non-Brother pack

Label makers

Ten models. Search, pictures, and the key path work the same on each. The two everyday Brother handhelds are the ones where you can actually put the paper sheet away.

  • Brother PT-D220, PT-D210, PT-D610BT, PT-P710BT (CUBE Plus)
  • DYMO LabelManager 160, LabelManager 280
  • NIIMBOT D110
  • Brady M210, M211
  • Phomemo M110 (support pages; no official PDF catalog)

PT-D220 and PT-D210 are indexed well enough to search instead of paging the device. The counts are how much of the sheet is in the index:

  • PT-D220: 30 symbol categories (371 pictograph glyphs, each with a name, keywords and its position on the device), 99 frames + underline, 25 templates, 14 fonts, 11 styles.
  • PT-D210: 27 symbol categories (311 pictograph glyphs, each with a name, keywords, a per-item crop from the official D210 guide, and its position on the device), 99 frame slots on the sheet (01 is Off, 02 is underline), 27 templates (17 text + 10 pattern), 14 fonts, 10 styles (no I+Solid). Counted from the D210 insertion sheet: 621 symbols (310 Basic including boxed/circled 1-99, plus 311 pictographs). Brother lists 617.

Both of those include 22 shortcuts, how-to guides, every LCD error message, and a label previewer that writes the recipe of key presses for the design you built. Other packs follow the same shell with whatever the official guide (or support pages) documents for that model.

Label preview

Design a label (tape, colour, fonts, style, frame, margins, length, mirror, two lines) and get the exact key-press recipe for the device. Steps tick off on tap. "Save this label" stores the design locally so it can be recalled with its recipe later.

Install

On iOS: Share → Add to Home Screen. On Android/Chrome: menu → Install app.

The site is static files under site/: no build step, no environment variables. A fork can stay on GitHub Pages, or run node scripts/prerender.mjs first (the Pages workflow does) so every /d/… URL has a real HTML file and returns 200 to crawlers, then drop the site/ folder on Netlify, Cloudflare Pages, or any web server. HTTPS is required for installation and the offline cache.

Routes are ordinary paths (/d/brother-pt-d220/symbols), not #/ hashes. GitHub Pages serves site/404.html (a copy of the app shell) for those paths; keep it in sync with site/index.html.

Run it locally

Serve site/ as the web root. There is no build step.

python3 -m http.server -d site 8080

Open http://localhost:8080. On a phone on the same Wi-Fi use http://<your-computer-ip>:8080.

Installing as an app (and the offline cache) requires a secure context: localhost, or any HTTPS host. Python's built-in server does not rewrite deep paths: after the first load, in-app links still work, but a refresh on a deep path 404s unless the host rewrites to the shell.

Layout

site/                           deployable web root (GitHub Pages artifact)
  index.html  app.js  style.css app shell (History API router, search, views, previewer)
  404.html                      GitHub Pages SPA fallback (keep in sync with index.html)
  robots.txt  sitemap.xml       crawlers; path URLs on labelarium.com
  <key>.txt                     IndexNow key (Bing); pinged after Pages deploy
  sw.js  manifest.webmanifest   PWA: precached shell, cache-first runtime, "Save offline" per device
  CNAME                         labelarium.com
  devices/index.json            list of label makers
  devices/<id>/                 device.js data + img/ assets from the official guide
  icons/og.png                  Open Graph image (1200×630)
  icons/devices/                homepage / rail printer SVGs
  docs/screenshots/             phone product shots for this README
  fonts/                        bundled Bodoni Moda + Jost (SIL OFL)
docs/og/                        Open Graph source material (not in the Pages artifact)

CI and GitHub Pages

Pull requests and pushes to main run .github/workflows/ci.yml. That check confirms required files exist under site/, that site/CNAME is labelarium.com, and that every device id in site/devices/index.json has a matching device.js.

Publishing to labelarium.com uses .github/workflows/pages.yml, which uploads the site/ folder on push to main. After deploy it pings IndexNow with the sitemap so Bing (and other IndexNow engines) hear about URL changes. Set the repository Pages source to GitHub Actions (Settings → Pages → Build and deployment → Source), not a branch deploy. That is a one-time repo setting and is not assumed to be switched yet.

Support

If Labelarium is useful, buy me a coffee on GitHub Sponsors.

Community

Want a model that is not listed yet? Request a label maker and I will add it. PRs for app fixes are welcome; start with CONTRIBUTING. We follow a code of conduct. Vulnerabilities go to SECURITY, not a public issue. Everyday bugs and requests live in Issues. Coffee still lives on Sponsors.

Trademarks

Brother, DYMO, NIIMBOT, Brady, Phomemo, and related product names and logos belong to their respective owners. Labelarium is unofficial and not affiliated with those companies. See TRADEMARK.md.

Licence

Code is licensed under the GNU Affero General Public License v3.0. See LICENSE. In short: you may use, study, change and share it, but if you run a modified version for others over a network you must offer them the modified source under the same licence. The name and marks are separate; see TRADEMARK.md. Bundled fonts are under the SIL Open Font License (site/fonts/). Device imagery under site/devices/*/img is reproduced from each manufacturer's user guide (or support pages) for reference purposes.

About

Search Brother P-touch frames, symbols, and shortcuts (PT-D220, PT-D210) plus DYMO, NIIMBOT, Brady, and Phomemo. Free offline PWA with pictures and key-press recipes.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages