# Deskew Scanned PDF Pages Before You Run OCR

- Author: FastBankConvert (https://www.fastbankconvert.com)
- Published: 2025-12-16
- Updated: 2025-12-16
- Category: Scanned and image statements
- Canonical: https://www.fastbankconvert.com/blog/deskew-scanned-pdf

> Deskew scanned PDF pages before OCR: why a tilt of two degrees breaks columns, how auto-straighten works, and when to rescan rather than rotate.
To deskew a scanned PDF is to rotate each page by the small angle it sat crooked on the scanner, so text lines run level before OCR reads them. Do it whenever a page leans by a degree or more. Even two degrees is enough to push an amount at the right edge into the wrong row.

## Why does a two-degree tilt break scanned PDF columns?

A two-degree tilt breaks columns because the error grows with distance across the page. The date at the left of a row sits where it should, but the amount at the right edge has drifted up or down by several millimetres. On a statement with tightly spaced rows, that is enough to pair the date with the wrong amount.

The arithmetic is simple. Vertical drift equals the width of the row times the tangent of the tilt angle. The table below works it out for a row about 200 mm wide, roughly the printed width of a letter or A4 page, against an example row height of 4.5 mm. The row height is an illustration; measure your own statement.

| Tilt | Drift across 200 mm | Share of a 4.5 mm row |
| --- | --- | --- |
| 0.5 degrees | about 1.7 mm | under half a row |
| 1 degree | about 3.5 mm | most of a row |
| 2 degrees | about 7.0 mm | more than one and a half rows |
| 3 degrees | about 10.5 mm | more than two rows |

At one degree, the right-hand amount is already most of the way into the next line. Software that groups words by their height on the page can then misjudge which date the amount belongs to. At two degrees the drift is wider than a full row, and the amount can be read beside the date one line below it.

This is also why tilt can do damage that looks like a recognition error. The characters are all read correctly, but they are placed in the wrong cells. A running balance check exposes it quickly, because every amount after the slip is out by one line.

## Auto-straighten settings for a scanned PDF

Automatic deskew measures the angle of the text lines and rotates the page by the opposite amount. Most scanner software and many OCR tools offer it, often under a name such as Deskew, Auto-straighten or Correct page orientation. It works best on pages full of regular printed lines, which suits bank statements well.

Where to look for the setting:

- **In the scanner software.** Many scanner drivers and multi-function printers have an automatic straighten option in the advanced scan settings. Turning it on there fixes every page at the source.
- **In the OCR step.** PDF editors that recognize text often include deskew among their pre-processing options, next to settings for removing specks and background.
- **In scan apps on a phone.** These usually straighten and crop as part of saving the scan.

Check one page after the fix. Zoom in on the last row of a long column and confirm the baseline runs level from the left margin to the right. Deskew can be fooled by a page with large logos, diagonal stamps or very little text, and occasionally it rotates the wrong way.

Deskew is one of several cleanup steps. Dark borders, speckle and page shadows matter too, and [cleaning up a scanned PDF for OCR](/blog/clean-up-scanned-pdf-for-ocr) covers the rest. Each pre-processing step adds work, and on a long file that time adds up. If a converter gives up on a big scanned file, [what to do when a PDF conversion times out](/blog/pdf-conversion-timed-out) explains how to make the job lighter.

## Rotating a page versus deskewing a scanned PDF

Rotating and deskewing are different operations. The rotate button in a PDF reader turns a page by a quarter turn, which fixes a page scanned sideways or upside down. Deskewing turns the page image by a small angle, such as 1.3 degrees, which a reader's rotate button cannot do.

Fix sideways pages with rotation first, then deskew. A page that is both upside down and slightly crooked needs both steps, in that order.

Keep in mind that a reader's rotation may only set how the page is displayed rather than changing the picture inside. Most converters respect that display setting, but if a rotated page still converts badly, save the file through a tool that rewrites the pages, or rotate the pages in the scanning software before saving.

Screenshots never need deskewing. A screen capture is level by nature, which is one reason [turning a bank app screenshot into Excel rows](/blog/bank-app-screenshot-to-excel) runs into other problems instead: stitching and duplicates.

## When should you rescan rather than deskew a PDF?

Rescan whenever the page is warped rather than simply tilted. Deskew turns the whole image by one angle. It cannot fix a page whose lines tilt one way at the top and another at the bottom, or bend near a fold. When the angle changes across the page, only a flatter scan helps.

Rescan when you see:

- **Curved lines** from a page that lifted off the glass near a fold or a binding.
- **Keystone shape** from a phone photo taken at an angle, where the page is wider at one end.
- **A clipped edge**, where the tilt pushed part of a column outside the scan area.
- **Tilt over about five degrees.** Rotation by a large angle softens the characters, since every pixel is redrawn.

Lay the page flat, close the lid fully or press the page down with a sheet of glass or a book, and line the top edge up with the scanner's guide. A good scan removes the need for most cleanup.

Handwritten pages are a separate problem. Straightening helps them too, but OCR built for print still reads handwriting poorly, as [what OCR can and cannot do with a handwritten PDF](/blog/convert-handwritten-pdf-to-excel) explains.

FastBankConvert is built to read scanned statement PDFs as well as digital ones, and to warn you before download when the balances do not add up, which is how a row slip from a crooked page shows itself. It is getting ready to open, so [join through Get started](/get-started).
