# OCR Police Reports for Criminal Defense Discovery

- Author: Schema Law (https://www.schemalaw.com/)
- Published: 2024-04-15T13:51:33Z
- Updated: 2026-10-11T19:22:20Z
- Category: Practice areas
- Canonical: https://www.schemalaw.com/blog/ocr-police-reports

> How to OCR police reports and supplements in criminal discovery: what converts well, what forms and redactions do to the text, and how to build a timeline.

To OCR police reports, upload each scanned report or supplement, let the software read the pages into text, and export a searchable PDF for the file plus Word or plain text for your notes. Then check names, times, addresses and badge numbers against the page images, because those are the details a defense turns on.

The typed narrative in a report usually converts well. The form around it does not, and redaction bars change the text in ways that are easy to miss. This post goes through each part of a discovery packet and ends with a way to turn the converted reports into a timeline.

A converted narrative is where you look up the offense the report names, whether as a felony or a misdemeanor, and the lines on the arrest and the booking. Search that text for a Miranda warning and for names you would list in a Brady disclosure log. Read each passage against the page image before you use it for an arraignment or a suppression hearing on probable cause.

## What form does criminal discovery arrive in?

Criminal discovery arrives as a mix: scanned paper saved as image PDFs, printouts from a records system, photographs, handwritten statements, and audio or video files. Only the first four are documents OCR can read. How much of the packet is searchable on arrival depends on the office that produced it.

In federal cases, [Federal Rule of Criminal Procedure 16(a)(1)(E)](https://www.law.cornell.edu/rules/frcrmp/rule_16) says that on the defendant's request the government must permit the defendant "to inspect and to copy or photograph" documents and other items within its possession, custody or control when the item is material to preparing the defense, the government intends to use it in its case-in-chief, or it was obtained from or belongs to the defendant. That paragraph speaks of inspecting and copying. It does not set a file format. State discovery rules are separate and differ from one another, so read the rule and any standing order that applies to your case.

A packet can hold any of the following, and each behaves differently:

| Item | How it tends to look | What OCR can do with it |
| --- | --- | --- |
| Incident or offense report | Form header, then a typed narrative | Narrative reads well; header needs checking |
| Supplemental reports | Shorter narratives by other officers | Reads well; watch dates and report numbers |
| Witness statements | Often handwritten on a form | Unreliable; treat as a draft at best |
| Dispatch or call logs | Dense tables of times and unit codes | Table export is useful; verify every time |
| Property and evidence sheets | Tables with item numbers | Good candidates for a spreadsheet |
| Lab reports | Typed, with tables of results | Reads well; check units and figures |
| Photographs, audio, video | Media files | Nothing; OCR does not apply |

If the packet came as one unsearchable file and you want to raise that with the other side, the post on [making a document production searchable](https://www.schemalaw.com/blog/make-document-production-searchable) covers form of production. It is written for civil discovery, so check how much of it carries over to your court.

## Why is OCR worth it on a police report?

OCR is worth it on a police report because the defense work is comparison, and comparison needs search. Once the text is searchable you can pull every mention of a name, a time, a vehicle or a street across all the reports in seconds, and see where the accounts differ.

Three tasks get faster straight away.

**Finding every mention.** A witness may appear by full name in one report, by surname in a supplement, and as "the reporting party" in a third. Searching the full set for each form of the name shows who said what about that person, and which officer never mentions them.

**Comparing accounts.** When two officers describe the same stop, the differences are the useful part. With converted text you can put the two narratives side by side in a word processor and run a comparison, or simply search both for the same phrase.

**Quoting accurately.** A motion that quotes a report should quote it exactly. Copying from converted text is faster than retyping, provided you then read the quotation against the image. The post on [quoting text from a scanned PDF](https://www.schemalaw.com/blog/how-to-quote-text-from-a-scanned-pdf) sets out that check.

For a public defender carrying a heavy caseload, the gain is mostly time at the first read. A 60-page packet that can be searched for "consent", "Miranda", "odor" and the client's name gives you the pages to read first. It does not replace reading the rest.

There is one caution. Search finds only what was recognized correctly. If a name was misread on page 14, a search for that name will skip page 14 and you will not know. Treat a search result as "these pages at least", never as "these pages only".

## Converting reports and supplements to searchable text

Convert each report as its own file, keep the copy you received untouched, and export two things: a searchable PDF that looks identical to the original, and the text in a form you can mark up. Name every file so it still points back to the discovery page numbers.

Start by saving the production exactly as it arrived, in a folder you never edit. Everything you convert is a working copy, and questions about what was produced are answered from the untouched set.

Next, decide the unit. A packet often arrives as a single PDF holding the incident report, four supplements and a lab report. Splitting it at report boundaries makes the later steps easier, because each export then corresponds to one author and one date. Keep the page range in the file name, for example `0001-0009 incident report Ofc Hale.pdf`. If the pages carry stamped discovery numbers, the post on [OCR for Bates numbered documents](https://www.schemalaw.com/blog/how-to-ocr-bates-numbered-documents) explains how to keep each page tied to its number.

Then convert. In Schema Law you sign in, upload a PDF, PNG or JPEG of up to 20 MB, and view the parsed pages when the read finishes. From there:

- **Searchable PDF** goes in the case file. For a PDF upload it is your original file with a hidden text layer added, so the page images do not change.
- **Word** is for narratives you want to annotate. Each source page starts a new page in the Word file, which keeps your notes aligned with the original pagination.
- **Plain text** is for pasting into a memo or a comparison tool.
- **Excel** is for dispatch logs and evidence lists.

Every plan exports all four. The free plan takes one document a day of up to three pages, which is enough to try a single supplement from a real case before deciding anything. Larger packets need the page limits on the [pricing page](https://www.schemalaw.com/pricing).

Finish with a read-through of the fields that matter: every name, date, time, address, plate, badge number and report number, compared with the image. Do it per report, and note on your index that it was done.

## Form fields, checkboxes and narrative blocks

A police report is three layouts on one page: a grid of labelled boxes, a set of checkboxes and codes, and a block of ordinary prose. OCR handles the prose far better than the grid, and checkboxes are the least reliable part of all.

**The grid.** A report header packs dozens of small labelled boxes into the top third of the page: date, time, location, beat, offense code, names, dates of birth. Recognition has to work out which value belongs to which label. In the converted text a label and its value may end up on different lines, or two neighbouring values may run together. Read the header against the image box by box. Do not assume that the text following "DOB" is the date of birth.

**Checkboxes.** A ticked box may come through as an "X", a stray letter, a bracket, or nothing. An empty box may look the same as a ticked one. Never take from converted text whether "Weapon involved: Yes / No" was marked. Look at the page.

**Codes.** Offense codes, unit numbers and disposition codes are short strings with no surrounding words to help recognition. A "0" and an "O", or a "1" and an "l", are interchangeable to a machine without context. Verify each one you intend to rely on.

**The narrative.** This is ordinary typed text and usually converts cleanly, including narratives typed in capitals. Watch for continuation pages, where the narrative resumes under a repeated header, and for the point where one officer's narrative ends and an approving supervisor's block begins.

**Handwriting.** Witness statements, field notes and corrections written on a typed report are a separate problem. The post on [OCR and handwritten notes](https://www.schemalaw.com/blog/ocr-handwritten-notes) explains what recognition can and cannot do with them. Schema Law makes no stated claim about handwriting accuracy, so test your own pages and expect to transcribe anything that matters by hand.

## Redactions and blacked-out passages

OCR cannot read under a properly applied redaction, and it does not always show that anything was removed. The converted text may run the words before a black bar straight into the words after it. The result is a sentence that reads smoothly and says something the page does not.

Take a line that reads on the page: "Witness [black bar] stated she saw the suspect leave at [black bar] and walk north." Converted text may come out as "Witness stated she saw the suspect leave at and walk north", or with stray marks where the bars were. Someone reading only the text might not notice that a name and a time are missing.

Three habits keep that from causing trouble:

1. **Mark redactions in your working copy.** Wherever the image shows a bar, type `[REDACTED]` into the Word or text file at that point. It takes a few minutes per report.
2. **Keep a redaction log.** List the page, the location on the page, and what the surrounding words suggest was removed: a name, an address, a phone number, a whole paragraph. The log is what you will work from if you decide to ask for less redacted copies.
3. **Never quote across a bar.** If a quotation spans a redaction, show the gap in the quotation.

One more situation deserves care. Sometimes a redaction is only a black rectangle drawn on top of text that is still in the file, and selecting the area reveals the words. If that happens, stop and take it to a supervisor before reading further. What you may do with such text is a professional-responsibility question that your own jurisdiction's rules answer, and this post does not.

Discovery can also be subject to a protective order that limits where copies may go. Read it before sending files to any outside service. The post on [uploading client documents to an OCR tool](https://www.schemalaw.com/blog/is-it-safe-to-upload-client-documents-to-an-ocr-tool) lists what to ask a vendor, and Schema Law's own commitments are set out under [security on the homepage](https://www.schemalaw.com/#security).

## Building a timeline from converted reports

A timeline built from converted reports is a spreadsheet with one row per stated event, each tied to the report and page it came from. Its value is in the conflicts it exposes: two officers placing the same event at different times, or an event that appears in only one account.

Use these columns:

| Column | What goes in it |
| --- | --- |
| Date and time | As stated in the report, in one consistent format |
| Event | A neutral one-line description |
| Source | Report type and author |
| Page | Discovery page number |
| Exact words | The quoted phrase from the report |
| Conflicts with | Row numbers of inconsistent entries |
| Checked | Initials once the row is verified against the image |

A short fictional example shows what the layout exposes:

| Time | Event | Source | Page |
| --- | --- | --- | --- |
| 23:14 | Dispatch broadcasts call | Call log | 31 |
| 23:19 | Ofc. Hale arrives on scene | Incident report | 3 |
| 23:26 | Ofc. Hale arrives on scene | Supplement, Ofc. Ruiz | 12 |
| 23:40 | Consent to search obtained | Incident report | 4 |

Rows two and three disagree by seven minutes. That may mean nothing, or it may matter a great deal, but you would not have seen it without both rows in one place.

Schema Law's Excel export gives you a head start. Along with a sheet for each table it finds, the workbook has a sheet named "Text" with two columns, the page number and the text of each block on that page. Add your own columns beside it and you have every passage already tied to its page. The export does not identify events or times for you. That reading is yours.

Times need particular attention. Reports write them as "2314 hrs", "11:14 PM" and "23:14", and a misread digit moves an event by ten minutes or an hour. Check every time in the timeline against the image, and record which clock each one came from: the dispatch system, the officer's own note, or the time the report was written. The same method applied to treatment records is described in the post on [OCR for medical records](https://www.schemalaw.com/blog/ocr-medical-records-for-attorneys).

## Try it on a real document

Upload a scanned PDF and export it as Word, a searchable PDF or plain text on the free plan. Your documents are never used to train an AI model. [Start free](https://www.schemalaw.com/api/auth/google)
