Free Tool
S1000D DMC Decoder
Decode
Every Segment, Explained
Decoding happens in your browser — nothing you paste leaves this page.
Go Deeper
The Explainers Behind the Segments
The decoder tells you what a code says; the library tells you why it matters. The Data Module Code, Decoded walks the whole identifier and the program-start decisions behind it. Data Module Types, Toured explains what lives behind the information code. The BREX explainer covers why so many meanings are “per your project.” And if you're starting a program, the 20-decision startup checklist is where coding schemes get settled properly.
FAQ
About This Tool
What does this tool do?
It takes an S1000D data module code — the structured identifier every data module carries — and breaks it into its segments with a plain-language explanation of each: the model identification code, system difference code, SNS (system/subsystem/assembly), disassembly code and variant, information code and variant, item location code, and learn codes when present. It also copes with real-world input: DMC- filename prefixes, issue/in-work/language suffixes, and file extensions are recognized and set aside.
Is anything I paste sent to your servers?
No. The decoder runs entirely in your browser — there is no request, no logging, and nothing to configure. Paste codes from restricted programs with a clear conscience (though your own program's rules always apply).
Why do some meanings say 'commonly'?
Because S1000D is tailored per project. Information code meanings come from the specification's tables as constrained by your project's business rules, SNS structures differ by domain, and item location conventions can be tailored. The decoder tells you what each segment is and what it commonly means, and links to our explainers for the depth — it deliberately doesn't over-assert semantics your BREX may define differently.
Can it decode learn codes and full filenames?
Yes — paste a whole data module filename and it will separate the DMC from the issue, in-work, and language segments, and if the code carries the extra learn code segments used by learning data modules, it flags them. If something doesn't parse, it tells you which segment looked wrong instead of failing silently.
Get In Touch
Decoding Is Free. Designing Is What We Do.
The coding scheme behind these identifiers is one of the longest-lived decisions an S1000D program makes. We help programs design theirs — and untangle the ones that grew wild.