EDI X12 Toolkit
Read an interchange in the browser
Overview
X12 parser, validator and CLI, with a browser playground running the same engine
A trading partner rejects a file and the rejection does not say which segment is wrong. This finds it. Drop an interchange into the playground and it names the segment, the element number and the element, and says what it expected instead.
It parses and validates X12 204, 210, 214 and 997. Two things most parsers get wrong are handled properly here. Delimiters are read from the ISA segment rather than assumed, so a file delimited with pipes and newlines reads exactly as cleanly as one with stars and tildes. And SE01 counts the ST and SE segments themselves, which is the commonest silent rejection in freight EDI.

Engineering
How it was built
Frontend
- Browser playground running the parser compiled to WebAssembly
- Interchanges parsed in the page — nothing is uploaded
- Built-in samples including a broken envelope and a pipe-delimited interchange
Backend & services
- .NET library targeting netstandard2.0 and net8.0, with no runtime dependencies
- Delimiters resolved from the ISA segment, reported with the offset each came from
- Envelope validation across ISA, GS and ST, with GE, SE and IEA counts and control numbers checked against them
- Validation returns diagnostics rather than throwing, so one bad file yields every problem in it
- Segment and element breakdown by position, identifier and element name
Integrations
- Transaction sets 204, 210, 214 and 997
- dotnet global tool with a non-zero exit code on an invalid file
Testing & verification
- 114 tests
Applied
Skills on this project
Next step
Ready to bring your project to life?
Schedule a free 30-minute strategy call with our team.
No sales call. You will talk to the engineer who would do the work, and you will get a written summary either way.