Both network-server conventions
Exercise modern The Things Stack and ChirpStack signatures or older Decoder and Encoder functions without creating an application first.
BROWSER-LOCAL LORAWAN WORKBENCH
Paste the JavaScript you actually deploy, add real byte payloads and expected JSON, then run the whole fixture set in an isolated local sandbox. Modern TTN and ChirpStack functions and legacy Decoder or Encoder formats are supported.
This is a test harness, not a decoder catalogue. It runs your codec against your payloads, shows exactly which fixture failed, and turns the result into tests you can keep beside the device integration.
RUN THE REAL CODE
Start with a sample or paste a vendor codec. Each vector can exercise a different operation, fPort, payload encoding, variables, decoded input, and expected result.
The sandbox exposes only the formatter input. Network, storage, imports, and page access are unavailable.
Run one vector or the complete set to see output, contract findings, byte reads, and expected-value differences.
FROM VENDOR PDF TO REGRESSION TEST
The same fixtures can be used while translating a vendor specification, migrating network servers, and reviewing later firmware changes.
Use the exact JavaScript from the device profile, including helper functions and lookup tables.
Capture representative uplinks and downlinks, then state the complete JSON result you expect.
Keep the generated fixtures and Vitest file with the integration so firmware or codec changes cannot silently reinterpret field data.
BUILT FROM FIELD WORK
Wavect wrote uplink decoders and downlink encoders while integrating multi-vendor hardware into a city-scale LoRaWAN platform. The expensive bugs were rarely syntax errors. They were quiet disagreements about bytes, ports, firmware variants, and output contracts.
Exercise modern The Things Stack and ChirpStack signatures or older Decoder and Encoder functions without creating an application first.
A pretty JSON preview is not a test. Fixtures fail when the complete output differs from the value you declared.
Export portable vectors, a runnable test file, or a Markdown report for a pull request and handover.
HONEST LIMITS
FREE · OPEN SOURCE · NO UPLOAD
Run the codec locally, export the fixtures, and keep the evidence with the integration.