Check 21 Parser
Parse Check 21 (X9.37) image cash letter files
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
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 Type | Name | Description |
|---|---|---|
| 01 | File Header | File-level metadata: sender, receiver, creation date |
| 10 | Cash Letter Header | Identifies a batch of checks (origin, destination, business date) |
| 20 | Bundle Header | Groups checks within a cash letter (typically 300 items per bundle) |
| 25 | Check Detail | Individual check data: routing, account, amount, MICR |
| 50/52 | Image View Detail/Data | Front and back check images (TIFF format, 200 DPI minimum) |
| 70 | Bundle Control | Count and total for the bundle |
| 90 | Cash Letter Control | Count and total for the cash letter |
| 99 | File Control | Count 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
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 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