Field Notes · Document Capture

Why Good Document Capture Matters for OCR Accuracy

An OCR (optical character recognition) engine doesn't see a passport or an ID card — it sees pixels. What we learned building a browser document scanner: image quality, frame sequences, real-time feedback and cheap phone cameras.

October 2026 · Document capture · Passport & ID OCR

Introduction: OCR Starts Before OCR

When people talk about OCR, they usually focus on the recognition model.

These are important questions. But there is another part of the process that is easy to overlook:

What does the OCR system actually receive?

An OCR engine does not see a passport, an ID card, or a driver's license. It sees pixels.

If the document is blurry, too small, partly outside the frame, covered by glare, or captured while the camera is moving, the OCR system has less useful information to work with.

Document capture, then, is not just a camera problem. It is part of the OCR pipeline.

Don't ask OCR to fix a bad capture if you can prevent the bad capture in the first place.

Why You Can't Just Take Any Photo of a Document

A photo can look perfectly acceptable to a person and still be difficult for OCR.

Consider a passport photographed with a phone:

The same passport specimen captured well and with typical capture problems: a blurred image, glare over the text, a cut-off corner, a document that is too small in the frame and a finger covering the MRZ
A good frame and typical capture problems. Each of these photos can look readable to a person and still be a poor input for OCR. Specimen document, not a real person.

A person can often understand a document despite these problems. Human vision is very good at using context to fill in missing information.

Optical character recognition does not have the same flexibility.

A slightly blurred character may still be obvious to a person because the surrounding letters make the word clear. For OCR, however, several characters may have very similar pixel patterns.

The problem becomes even more important with small text and machine-readable zones (MRZ). A small amount of lost detail can make one character ambiguous.

So there is a simple principle:

OCR doesn't see a passport or an ID card. It sees pixels. The quality of those pixels matters.

What Makes an Image Good for OCR?

There is no single number that defines a "good" OCR image. Several properties work together.

Sharpness

Text needs enough detail to be recognized reliably.

Motion blur can make individual characters merge together. Focus problems can have a similar effect.

A document can also have uneven sharpness. The center may be clear while a corner is soft because of focus, perspective, or the characteristics of the camera.

This matters particularly for small characters, document numbers, and MRZ lines. We measured how gradual blur affects printed fields versus the MRZ in a separate experiment: How blur affects passport OCR.

Lighting

Insufficient light can reduce the useful detail in an image.

But more light is not always better.

Strong exposure can wash out parts of a document, while uneven lighting can make one section much harder to read than another.

A good capture needs enough light without losing information in bright areas.

Glare

Glare is one of the more difficult problems because it can hide information completely.

Most of the document may look sharp and well exposed while a reflection covers a name, date, document number, or part of the MRZ.

From an OCR perspective, the problem is not necessarily that the whole image is bad.

It is that one important area may be unusable.

A browser document scanner rejects a frame of an ID card because of glare: amber guide frame, red glare indicator and the hint to move the document
A frame rejected because of glare on the card: the rest of the image is sharp, but part of the document is unreadable.

Geometry

The document should be visible and reasonably aligned.

Problems can include:

Some perspective distortion is normal and can often be handled by OCR systems.

The problem is excessive or inconsistent distortion that removes useful information or makes the document difficult to process reliably.

Stability

The camera can introduce another problem: movement.

A user may hold the document in approximately the right position while the phone is still moving slightly.

That movement can affect sharpness and also make it harder to determine when the image is actually ready to capture.

For a real-time scanner, that means the current frame is only part of the picture.

Why One Frame Is Not Always Enough

A simple document scanner might think about capture like this:

Frame→good or bad

But a camera is not a still image. It produces a sequence:

Frame→Frame→Frame→Frame→Frame

That sequence gives a capture system another source of information: time.

Instead of asking only "Is this frame good?", the system can also ask:

"Has the document been stable enough for long enough?"

Imagine that a user moves a phone toward a passport. One frame is blurry. The next frame is sharp. The following frame is slightly tilted. Then the phone becomes stable and several good frames appear in sequence.

Looking at the sequence makes it possible to distinguish a temporary problem from a stable capture condition.

A scanner can consider things such as:

This does not mean that every document scanner needs a complex computer vision model. In many cases, several lightweight measurements combined with temporal logic can provide useful information.

The important part is that capture quality is not always a property of one frame.

A good capture is not just a good frame. It is a stable moment.

How our scanner implements this — roughly 600 ms of stability before capture and a short sequence of frames to choose from — is described in Inside Misfora's Document Capture Engine.

Detect Problems Before Sending the Image to OCR

A useful document capture system can perform some quality checks before making an OCR request.

Instead of sending every camera frame directly to the recognition engine, the capture layer can first ask basic questions:

These questions represent a different job from OCR.

Recognition"What does this image contain?"
Capture quality control"Is this image good enough to recognize reliably?"

The two stages complement each other.

If the capture layer detects an obvious problem before OCR, the user can correct it immediately.

For example, if the document is moving, the interface can wait instead of sending another low-quality image to the server. If the document is too small, the user can move the phone closer. If glare is covering an important area, the user can change the angle.

Sending a poor image to OCR and asking the user to try again afterward adds another step to the process. When a problem can be corrected while the document is still in front of the camera, the workflow is usually simpler.

The User Shouldn't Have to Understand Computer Vision

The technical side of document capture can become complicated very quickly.

A scanner may be checking:

The user does not need to know any of this.

They simply need to know what to do next.

For example, a camera interface could use a few simple visual states:

The frame state tells the user what to do — white, yellow, green, then automatic capture. No need to read instructions. Specimen document, not a real person.

Instead of displaying "Perspective distortion is too high", the interface can communicate "Move the phone slightly higher."

Instead of "Image sharpness is below the required threshold", it can simply indicate "Hold steady."

The computer vision can be complicated. The interface should feel simple.

A good capture interface lets the user learn the interaction from the feedback itself:

Find the document→Position it→Hold steady→Capture

This is particularly useful for identity documents because people may scan a passport or ID card only occasionally. They should not need to learn a new scanning system every time.

Good Feedback Is About Timing, Not Just Messages

Detecting a problem is only half of the problem.

The next question is: when should the system tell the user about it?

During development, we found that real-time feedback was harder than it first looked. Detecting a problem was one part of the work. Deciding how the interface should react to it was another.

At first, it may seem useful to show the user every problem the system detects. In practice, this can make the interface noisy and harder to understand.

We ended up reducing the number of messages and showing them only when the user is doing something clearly wrong.

The visual state of the scanner became more important than the number of instructions. The frame starts white, turns yellow when there is a problem, and becomes green when the document is almost ready to capture.

One of the most useful lessons from testing was that people are unlikely to read long instructions before scanning a document. They will usually do what feels natural to them.

That means the interaction should be based on something they already understand: taking a photo with a phone camera.

The closer the scanning experience is to something familiar, the less the user needs to think about how the system works.

The system can still consider many things in the background:

This also helps avoid conflicting instructions.

Suppose the document is simultaneously slightly too far away, slightly tilted, and moving. Showing three different warnings at once gives the user more information, but not necessarily more useful information.

A better approach is to identify the most important correction and communicate that one.

The interface does not need to expose every computer-vision measurement.

Give the user the right instruction at the right moment.

The Camera Is Not the Same on Every Phone

Document capture happens on real devices, not ideal test hardware. We saw this quite clearly while testing the scanner on weaker and cheaper phones.

On weaker devices, the camera itself is often part of the problem. Processing power can also become a limitation when the browser has to process a continuous camera stream.

During one stage of development, the scanner was running at only around 5 frames per second on some devices. After testing, we found that we were requesting 4K frames from a camera that could not provide them efficiently.

Reducing the camera input to 1080p made the scanner much more responsive.

Interestingly, the lower resolution did not have a noticeable negative effect on OCR for the documents we tested. In this case, using a smaller image actually produced a better overall experience without sacrificing the information needed for recognition.

Cheap phone cameras can also have weaker autofocus, especially in low light, and may not have optical image stabilization. These things can make document capture less comfortable, but they do not necessarily make the scanner unusable.

A phone with a weaker camera may need more time to focus or may produce a less stable image. The capture system needs to work with those limitations rather than assuming that every user has a recent flagship phone.

This was a useful reminder that document capture has to be designed for the devices people actually use, not just for modern flagship phones.

Real-device testing is therefore important. Testing only on a small number of modern phones can hide problems that real users will eventually encounter.

Device testing is not just about checking whether the camera opens. It is about checking whether the complete capture interaction remains usable across different hardware.

The phones we have tested the scanner on, from entry-level Android to current iPhones, are listed in Inside Misfora's Document Capture Engine, together with one real scan broken down from the logs.

Capture Quality Is Not the Same as OCR Accuracy

It is important not to overstate what capture quality checks can do.

A good capture does not guarantee perfect OCR. It simply gives the recognition system better input.

The capture layer can help determine that:

But these checks cannot determine everything about the final result.

They cannot guarantee that every name, date, or document number will be recognized correctly. They also cannot determine by themselves whether extracted data is valid. That belongs to later stages.

A useful separation is:

Capture qualityIs the image suitable for recognition?
OCRWhat information can be extracted from the image?
ValidationDoes the extracted information make sense?

Keeping these stages separate makes the overall system easier to reason about.

OCR Output Is Not Automatically the Truth

Even a good image can produce imperfect optical character recognition results.

Recognition is not the same thing as validation.

An OCR engine may extract names, dates, document numbers, nationality, MRZ data and other document fields. The extracted values still need to be checked.

For example:

This becomes particularly important when OCR data is sent directly into another system.

The goal is not simply to produce text. The goal is to produce usable structured data.

OCR produces data. Validation helps determine whether that data makes sense.

This is why a document-processing workflow can be thought of as several connected stages rather than one OCR request. Country-specific MRZ rules are part of that too — see how the Belgian eID stores a 12-digit document number in a TD1 MRZ.

From Camera to Structured Data

A simple way to look at document processing is:

User→Photo→OCR

But a more complete workflow looks like:

User→Camera→Capture quality→OCR→Validation→Structured data

Each stage affects the next one:

Not every application needs every possible check. The right pipeline depends on the documents, the environment, and the consequences of an incorrect result.

The general principle remains useful:

Capture, recognition, and validation solve different problems.

Treating them as separate stages makes it easier to improve each part without expecting one component to solve everything.

What a Good Document Capture Pipeline Should Optimize For

The goal of a document capture system is not to maximize the number of computer-vision checks.

It is to create a predictable and low-friction process.

This last point is easy to miss.

Document scanning is not really about taking a picture. It is about turning a physical document into reliable digital information.

Conclusion: Good OCR Starts Before OCR

OCR accuracy does not depend only on the recognition model.

The process starts earlier.

A document capture system can influence the quality of the image before recognition begins. It can detect common problems such as blur, poor framing, glare, excessive movement, and bad positioning.

Real-time feedback can help users correct those problems without requiring them to understand computer vision.

Temporal analysis can make capture more reliable by looking at a sequence of frames rather than treating every frame independently.

Testing on real devices can also reveal problems that are difficult to see on modern hardware alone. In our case, reducing the camera input from 4K to 1080p made a large difference to responsiveness on weaker devices without hurting the OCR results we were getting.

Validation can then provide another layer of confidence after OCR has extracted the data.

The complete process can be thought of as:

Capture→Quality control→OCR→Validation→Structured data

Good OCR starts before OCR.

For applications that need to extract structured information from passports, ID cards, and other identity documents, these stages can be part of a single document-processing workflow rather than completely separate components. See which documents are covered on the supported documents page.

Explore the document capture workflow

Misfora Web Scanner SDK provides browser-based document capture with real-time feedback before the image is sent for OCR. Explore the Misfora Web Scanner SDK →

Already have your own capture flow?

The Misfora OCR API can process passport and ID document images and return structured data. Explore the Misfora OCR API →