Barcode Tools
Generate and decode QR codes and barcodes locally in the browser.
Barcode Tools is a standalone local-first application in the add·ideas Toolbox. Inputs are processed in the browser and are not uploaded.
Current scope
- Local SVG generation for QR, Data Matrix, PDF417, Aztec and selected linear symbologies
- Local barcode decoding from a bounded image file or an explicitly enabled, permission-gated camera; native
BarcodeDetectoris preferred when available and local ZXing is the fallback - Escaped URL, email, SMS, Wi-Fi, vCard and geo QR payload builders
- Bounded CSV batch generation into a deterministic SVG ZIP
- Bounded parsing and validation for common GS1 Application Identifiers in parenthesized HRI and raw element strings, including FNC1/ASCII GS boundaries, dates, check digits and decimal indicators
- GTIN check-digit validation, physical SVG sizing, raster-dimension planning, nominal quiet-zone guidance and print-sized SVG export
Generated SVG is checked for active or linked content before preview/download. Decoded payloads are displayed as text and never opened automatically. GS1 allocation/ownership is not queried. bwip-js padding is in points rather than barcode modules, so quiet-zone conformance must be measured on final output; scanner interoperability and print grade still require testing against the intended scanner and applicable specifications. See docs/ARCHITECTURE.md and docs/PRIVACY-SECURITY.md.
Development
Requires Node.js 22 and npm 11.
npm ci
npm run check
npm run test:browser
Release
npm run release:artifact creates a deterministic release/barcode-tools-0.2.0.zip and checksum sidecar.
Licence
GPL-3.0-or-later. Runtime dependencies retain their own licences; see THIRD_PARTY_NOTICES.md.