Check 21 Parser

Parse Check 21 (X9.37) image cash letter files

1
Understanding Check 21 / X9.37 Files
TL;DR

Check 21 enables banks to process check images electronically instead of physically transporting paper checks.

What is Check 21?

Check 21 (formally the Check Clearing for the 21st Century Act) is a US federal law that took effect on October 28, 2004. It enables banks to process check payments electronically by creating digital images of paper checks, eliminating the need to physically transport original checks between banks for clearing. The electronic file format used to exchange these check images is defined by the X9.37 standard (also known as DSTU X9.37 or X9.100-187).

Before Check 21, the check clearing process required the physical movement of billions of paper checks each year. Checks written in California that were deposited in New York had to be flown across the country — a process that was slow, expensive, and vulnerable to disruption (as demonstrated when air travel was grounded after September 11, 2001, halting check clearing nationwide).

Check 21 introduced the concept of the substitute check (Image Replacement Document or IRD), a paper reproduction of the original check created from its electronic image. An IRD is the legal equivalent of the original check, which means banks can process the image electronically and only create a paper version if specifically needed.

How Check 21 Works

Check 21 Processing Flow A horizontal flow diagram showing six stages: Paper Check is scanned to create an Image, which is packaged into an X9.37 file, sent via Electronic Exchange to clearing, and finally settled. Each stage shows the key data or action involved. 1 Paper Check Customer writes check Deposited at bank/ATM or mobile (RDC) 2 Scanning Front + back images MICR line captured 200 DPI minimum 3 X9.37 File Images + MICR data Check detail records Structured format 4 Exchange Fed or clearing house processes electronically 5 Clearing Paying bank receives image Verifies MICR, signature, funds Posts to payor account 6 Settlement Fed debits paying bank Credits depositing bank Funds available next day Key Benefits of Check 21: Faster clearing (same-day vs 3-5 days) | Lower transportation costs | Disaster resilience | Enables mobile deposit (RDC) Reduced fraud through automated image analysis | Nationwide interoperability between all US banks

X9.37 File Format

The X9.37 file is a binary format containing both structured data records and embedded TIFF images of the check front and back. The file follows a hierarchical structure similar to other financial file formats.

Record TypeNameDescription
01File HeaderFile-level metadata: sender, receiver, creation date
10Cash Letter HeaderIdentifies a batch of checks (origin, destination, business date)
20Bundle HeaderGroups checks within a cash letter (typically 300 items per bundle)
25Check DetailIndividual check data: routing, account, amount, MICR
50/52Image View Detail/DataFront and back check images (TIFF format, 200 DPI minimum)
70Bundle ControlCount and total for the bundle
90Cash Letter ControlCount and total for the cash letter
99File ControlCount and total for the entire file

MICR Line

The MICR (Magnetic Ink Character Recognition) line at the bottom of every check contains three key fields that are critical for routing and identification:

  • Routing/Transit Number: The 9-digit ABA number identifying the paying bank
  • On-Us Field: The account number and check serial number (format varies by bank)
  • Auxiliary On-Us: Additional data such as check serial number for commercial checks

Remote Deposit Capture

Remote Deposit Capture (RDC) is a direct descendant of Check 21. Since the law established that a digital image of a check is legally equivalent to the original, banks could allow customers to “deposit” checks by simply photographing them. RDC is now offered by virtually every US bank through mobile apps, enabling:

  • Consumer mobile deposits via smartphone camera
  • Corporate RDC through desktop scanners for high-volume check processing
  • ATM image capture where checks are scanned at the ATM rather than physically processed

The primary risk with RDC is duplicate presentment — the same check deposited multiple times at different institutions. Banks implement duplicate detection algorithms that compare MICR data, amounts, check serial numbers, and image fingerprints to catch duplicates before they clear.

Common Use Cases

  • Check clearing: The primary use — banks exchange X9.37 files to clear millions of checks daily without physical transport
  • Mobile deposit: RDC applications create X9.37-compatible images for deposit processing
  • Archive and retrieval: Banks store check images for 7+ years to satisfy regulatory retention requirements and customer inquiries
  • Fraud detection: Automated image analysis detects altered checks, counterfeit documents, and duplicate presentments
  • Return items: When a check bounces (NSF, stop payment, account closed), the return is also processed electronically via X9.37
  • Corporate lockbox: High-volume payment processors scan incoming checks and create X9.37 files for batch deposit

Try These Examples

Valid X9.37 File Valid

A complete X9.37 file with File Header (01, standard level 03, production, destination 091000019, origin 021000089, March 15 2024), Cash Letter Header (10), Bundle Header (20), one Check Detail (25) for $5,000.00 with ECE routing 091000019 and payor routing 021000089, followed by Bundle Control (70), Cash Letter Control (90), and File Control (99).

0103P091000019021000089202403151430N0101 1001091000019021000089202403151000CL01 2001091000019021000089202403150000 25091000019000000000012345 021000089000000000001234500000500000000000001001 70 90 99
Invalid X9.37 (Missing File Header) Invalid

This example contains only a Check Detail record (type 25) without the mandatory File Header record (type 01). A valid X9.37 file must begin with a File Header that identifies the sender, receiver, and creation date. Without it, the file cannot be properly identified or routed for clearing.

25 091000019 00012345 0000050000 20240315 20240315 0001 0 091000018 021000089 1 0000 0 0000000002 JANE DOE CHECK 5678