« All posts

AFP: The Format Behind Bank Statements Gets a Browser Validator

IBM's decades-old AFP format still powers bank statements. A new free tool validates its structure in the browser, without ever uploading the file.

Advanced Function Presentation (AFP) is an IBM print format dating back to the 1980s, yet it still underlies millions of bank statements, insurance documents, and healthcare EOBs today. Despite its obscure reputation, the format's byte-level structure is remarkably simple: every field opens with a fixed header (a 0x5A byte, length, and identifier), and the full specification (MO:DCA) is publicly available through the AFP Consortium.

The practical problem is that nearly all tooling capable of opening these files is enterprise software focused on conversion, with almost nothing that simply answers whether a given AFP batch is structurally valid. A newly introduced browser-based validator fills that gap for free, checking field framing, Begin/End nesting, the document envelope (BDT/EDT), and producing a full inventory of structured fields, page counts, and resource references.

What stands out is its restraint: unrecognized field types are flagged as unknown rather than guessed, and claims about external resources like fonts or overlays are reported as 'not evaluable' since their existence can't be confirmed from the file alone. Because these files often carry sensitive personal data, nothing is uploaded anywhere — parsing happens entirely client-side in the browser.

For engineers, this is a useful case study in building a lightweight, trustworthy validation layer for an old but still widely used format, and in reporting uncertainty honestly instead of silently glossing over it.