Files
binary-tools/public
2026-09-01 13:04:49 +02:00
..
2026-09-01 13:04:49 +02:00
2026-09-01 13:04:49 +02:00
2026-09-01 13:04:49 +02:00
2026-09-01 13:04:49 +02:00
2026-09-01 13:04:49 +02:00
2026-09-01 13:04:49 +02:00
2026-09-01 13:04:49 +02:00
2026-09-01 13:04:49 +02:00
2026-09-01 13:04:49 +02:00
2026-09-01 13:04:49 +02:00
2026-09-01 13:04:49 +02:00

Binary Tools

Convert, inspect and decode byte-oriented formats locally in the browser. Binary Tools is a standalone add·ideas Toolbox application; files and input never leave the browser.

Features

  • Synchronized UTF-8, hexadecimal, Base64, RFC 4648 Base32 and Bitcoin-alphabet Base58 conversions.
  • A paged byte/offset/ASCII inspector with clickable highlighted source ranges.
  • CBOR and MessagePack JSON encode/decode.
  • Strict ASN.1 DER TLV trees, including canonical identifiers, lengths and core primitive encodings.
  • Protocol Buffers wire inspection with optional JSON field schemas for common scalar and nested message types.
  • Offline-capable PWA, light/dark/system themes and keyboard-accessible controls.

Safety and limits

All input is inert data. The application makes no external requests and never evaluates decoded content. Inputs and encoded outputs are capped at 1 MiB; structured parsing is capped at depth 64 and 10,000 nodes. Base58 is capped at 4 KiB because arbitrary-base conversion is quadratic. DER rejects indefinite/non-minimal lengths and identifiers plus malformed core primitive encodings. Protobuf groups are deliberately unsupported. Schema assistance validates field records and wire compatibility, but is intentionally limited and is not a generated protobuf runtime.

Development

Requires Node.js 22+ and npm 11.

npm ci
npm run check
npm run test:browser
npm run package:release -- --force

The deterministic release is written to release/binary-tools-0.1.0.zip with a SHA-256 sidecar.

Licence

GPL-3.0-or-later. See LICENSE and THIRD_PARTY_NOTICES.md.