Files
barcode-tools/README.md
T
zemion d94e03b81a
Verify / verify (push) Canceled after 0s
Release Barcode Tools 0.2.0
2026-09-02 11:08:20 +02:00

35 lines
1.9 KiB
Markdown

# 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](https://git.add-ideas.de/lotobo/toolbox-portal). 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 `BarcodeDetector` is 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](docs/ARCHITECTURE.md) and [docs/PRIVACY-SECURITY.md](docs/PRIVACY-SECURITY.md).
## Development
Requires Node.js 22 and npm 11.
```sh
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](THIRD_PARTY_NOTICES.md).