Bank check information extraction/OCR from Magnetic ink character recognition [MICR] (E-13B & CMC-7) using deep learning

Unlike other solutions you can find on the web, you don’t need to adjust the camera/image to define a Region Of Interest (ROI). We also don’t try to use small ROI to decrease the processing time or false-positives. The whole image (up to 4K supported) is processed and every pixel is checked. No matter if the MICR lines are small, far away, blurred, partially occluded, skewed or slanted, our implementation can accurately detect and recognize every character.

The detector is agnostic and doesn’t decode (recognize/OCR) the text to check it against some pre-defined rules (regular expressions) which means we support all MICR types regardless the font, content, shape or country. Both E-13B and CMC-7 formats are supported.

Automating Bank account information extraction from MICR (Magnetic ink character recognition) zones on scanned checks/document above human-level accuracy is a very challenging task. Our implementation reaches such level of accuracy using latest deep learning techniques. We outperform both ABBYY and LEADTOOLS in terms of accuracy and speed (almost #30 times faster).

Using a single model we’re able to accurately locate the MICR (Magnetic ink character recognition) zones, infer the type (E-13B or CMC-7) and recognize the fields: one-shot deep model. The performance gap between us and the other companies is more important for CMC-7 format which is more challenging than E-13B.

The next video shows the SDK running on Android device to detect and recognize E-13B:

The next video shows the SDK running on Android device to detect and recognize CMC-7:

This technology is a key component of Remote Deposit Capture applications to process bank checks sent using mobile phones or scanners. It’s a must have technology for any FinTech company.

Don’t take our word for it, come check our implementation. No registration, license key or internet connection is needed, just clone the code from Github and start coding/testing: Everything runs on the device, no data is leaving your computer. The code released on Github comes with many ready-to-use samples to help you get started easily. You can also check our online cloud-based implementation (no registration required) at to check out the accuracy and precision before starting to play with the SDK.