Why Your Scanned Documents Are Enormous — And How to Fix It

You scan a two-page letter and get a 25MB PDF. The same content typed would be 40KB. This is not a fault — it is the direct arithmetic consequence of three scanner settings, and once you can do that arithmetic you can predict and control the size of any scan. This page covers the calculation, which compression suits which content, and how to shrink files you have already made.

The settings that matter

300 DPI, black and white, with G4 compression gives a text page of roughly 50KB. The same page at 600 DPI in colour, uncompressed, is roughly 100MB — a factor of two thousand. Three settings account for essentially the entire range.

The arithmetic

A scan is a photograph of a page. Its raw size is entirely determined by pixel count multiplied by bits per pixel.

// An A4 page at 300 DPI 8.27 in × 300 = 2480 pixels wide 11.69 in × 300 = 3508 pixels tall total = 8,700,000 pixels // Raw size depends on colour depth 24-bit colour → 3 bytes/pixel → 26.1 MB 8-bit greyscale → 1 byte/pixel → 8.7 MB 1-bit bitonal → 1/8 byte/pixel → 1.09 MB

That is per page, before compression. And because resolution affects both dimensions, doubling DPI quadruples the pixel count:

DPIPixels (A4)24-bit colour8-bit grey1-bit
1502.2 M6.5 MB2.2 MB272 KB
3008.7 M26.1 MB8.7 MB1.09 MB
60034.8 M104 MB34.8 MB4.35 MB
1200139 M418 MB139 MB17.4 MB

⚠️ Doubling DPI quadruples the file

This is the single most misunderstood point about scanning. Moving from 300 to 600 DPI does not make the file twice as big — it makes it four times as big, because both width and height double. For a page of 11-point text, the extra detail is invisible at reading distance. Reserve 600 DPI for small print, fine line art, or archival work where you may need to enlarge later.

Colour mode is the biggest lever

Colour depth affects size by a factor of 24 before compression, and considerably more after — because the compression available depends on the mode.

ModeBitsUse forCompression available
Bitonal (1-bit)1Plain text, line drawings, formsCCITT G4, JBIG2 — extremely effective
Greyscale (8-bit)8Text with shading, pencil, black and white photosJPEG, JPEG 2000
Colour (24-bit)24Colour photographs, coloured markingsJPEG, JPEG 2000

Bitonal is the important one and the most under-used. A page of black text on white paper contains, genuinely, two colours. Scanning it in 24-bit colour records 16.7 million possible values per pixel to represent a two-value image — the other 16,777,214 possibilities are recording paper texture, scanner noise and lighting variation. That noise is not just wasted space; it actively defeats compression, because compression works by finding repetition and noise is by definition not repetitive.

Compression methods

MethodWorks onTypical result on a text page
CCITT Group 4Bitonal only1.09 MB → 40–60 KB
JBIG2Bitonal only1.09 MB → 15–30 KB
JPEGGrey and colour26 MB → 1–3 MB
JPEG 2000Grey and colour26 MB → 0.5–1.5 MB
Flate / ZIPAnything, lossless26 MB → 15–20 MB — poor on scans
None26 MB stays 26 MB

CCITT Group 4 was designed for fax machines and remains superb at what it does: it encodes each row of pixels as differences from the row above, which is extremely efficient for text where most rows are largely white and similar to their neighbours.

JBIG2 goes further with a genuinely clever trick — it finds repeated shapes across the page, stores each distinctive shape once, and records positions for every occurrence. On a page of text, every instance of the letter "e" is nearly identical, so it is stored once and referenced hundreds of times.

🚨 JBIG2 lossy mode can change your numbers

JBIG2's shape matching has a lossy mode that treats similar shapes as identical. In 2013 this was found to be silently altering digits in scanned documents on certain office copiers — a 6 substituted for an 8 in construction plans and invoices, with no visible artefact to indicate anything had happened. The output looked perfectly clean and contained wrong numbers.

For anything containing figures that matter — invoices, contracts, technical drawings, medical records — use CCITT G4 or JBIG2 in lossless mode. The extra kilobytes are not worth the risk.

What a page should weigh

ContentSettingsPer page
Plain text document300 DPI, bitonal, G430–60 KB
Text with a signature300 DPI, greyscale, JPEG150–400 KB
Form with coloured boxes200 DPI, colour, JPEG200–500 KB
Page with photographs300 DPI, colour, JPEG500 KB – 2 MB
Photograph for printing600 DPI, colour, low compression10–30 MB
Archival master600 DPI, colour, lossless TIFF50–100 MB

If a plain text page is coming out above about 500KB, the scanner is set to colour when it should be bitonal — that single setting is responsible for the great majority of oversized scans.

Mixed Raster Content

Real pages are often not uniform: a letterhead in colour, body text in black, a photograph in one corner. Scanning the whole page in colour to accommodate the photograph wastes enormous space on the text.

Mixed Raster Content (MRC) solves this by separating the page into layers — a bitonal mask for the sharp text, a low-resolution colour layer for backgrounds, and a higher-quality layer for photographic regions. Each layer is compressed with the method that suits it.

The result can be dramatic: pages that would be 3MB scanned uniformly in colour come out at 100–200KB with text that is arguably sharper, because the text layer is bitonal rather than JPEG-compressed. Many scanner drivers offer this as "Auto", "Mixed" or "Text and Image" mode, and it is usually the best default for mixed documents.

OCR and searchable PDFs

OCR reads the image and produces text. In a searchable PDF that text is placed as an invisible layer aligned over the corresponding words in the image — you see the original scan and can select, copy and search it.

The text layer adds only a few kilobytes per page. It is one of the highest-value additions you can make to a scan: negligible size, and it turns an opaque image into something findable.

# OCRmyPDF — adds a text layer and optimises in one pass ocrmypdf --optimize 3 --skip-text input.pdf output.pdf # Force bitonal + G4 for a pure text document ocrmypdf --optimize 3 --output-type pdf \ --tesseract-timeout 120 scan.pdf searchable.pdf

OCR accuracy depends heavily on the scan. It needs at least 300 DPI — below that, character recognition degrades sharply. It also prefers straight pages, so use the deskew option, and it struggles with unusual fonts, handwriting and heavy background patterns. Aggressive JPEG compression before OCR is counterproductive: the artefacts around letterforms directly reduce recognition accuracy.

Shrinking existing scans

# Ghostscript — the most reliable general-purpose approach gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \ -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH \ -sOutputFile=small.pdf large.pdf # The presets, and what they do to images: # /screen 72 DPI — smallest, screen viewing only # /ebook 150 DPI — good balance, usually the right choice # /printer 300 DPI — print quality retained # /prepress 300 DPI — colour-preserving, largest
# Convert a colour scan to bitonal with G4 — the big win # for documents that are really black text on white gs -sDEVICE=tiffg4 -r300 -dNOPAUSE -dBATCH \ -sOutputFile=page-%03d.tif colour-scan.pdf img2pdf page-*.tif -o tiny.pdf # Or in one step with ImageMagick magick input.pdf -density 300 -threshold 60% \ -compress Group4 output.pdf

The threshold value in that last command is the point at which a grey pixel becomes black or white. Too high and light text disappears; too low and paper texture becomes black speckles. Around 50–65% suits most documents, and it is worth testing on one page before processing hundreds.

✅ Check what is actually in the file first

Before optimising, find out what you are dealing with. pdfimages -list scan.pdf lists every embedded image with its resolution, colour space and compression. If it shows 600 DPI colour images in a text-only document, you have found your problem and the fix is obvious.

Scanner settings worth changing once

SettingSet toWhy
Resolution300 DPIEnough for OCR; 600 quadruples size for no visible gain
Colour modeBlack & white for textThe single largest saving available
CompressionG4 for bitonal, JPEG for colourMatch the method to the content
OutputPDF, not TIFFMulti-page, universally readable, compresses well
DeskewOnStraight pages compress better and OCR far better
DespeckleOn for bitonalRemoves noise that defeats compression
Blank page removalOnFree saving on duplex scanning
OCROnA few KB per page for full searchability

Most scanner software defaults to 200 or 300 DPI in colour, because that is safe for every document type. It is also the worst combination for a text document. Setting up two profiles — one bitonal for documents, one colour for photographs — takes five minutes and permanently solves the problem.

Need to split or reorder a large scan?

Split, merge and rotate PDF pages directly in your browser — nothing is uploaded, which matters when the scan is a contract or a medical record.

Open the PDF Splitter →

Summary

  • A scan is a photograph of a page. Size is pixel count times colour depth, before compression.
  • Doubling DPI quadruples the file. 300 is right for almost all documents.
  • Colour mode is the biggest lever — bitonal is 24 times smaller before compression and far more after.
  • CCITT G4 turns a text page into 40–60KB. Use it for anything that is black on white.
  • Avoid lossy JBIG2 on anything containing numbers that matter.
  • MRC mode handles mixed pages far better than a single uniform setting.
  • Add OCR. A few kilobytes for full searchability.
  • Run pdfimages -list before optimising, so you fix the actual problem.

Frequently Asked Questions

What DPI should I scan documents at?

300 DPI for text you want to run OCR on, and 200 DPI for documents you only need to read. 600 DPI is for small print, fine line art and archival work. Going from 300 to 600 quadruples the file size for detail that is invisible at normal reading distance, so it is rarely worth it for ordinary documents.

Why is my scanned text document 20MB when a typed one is 100KB?

Because they contain completely different data. A typed PDF stores letters as font references — a few bytes each. A scan stores a photograph of the page, which at 300 DPI in colour is about 26 million bytes before compression. The scanner cannot tell text from a picture; it is recording pixels either way.

Should I scan in colour or black and white?

Black and white for ordinary text documents — it produces files 20 to 50 times smaller and, with the right compression, text stays perfectly crisp. Use greyscale for pages with photographs or shading, and colour only when the colour carries meaning, such as a signature in blue ink or a highlighted passage.

How do I make an existing scanned PDF smaller?

Downsample the embedded images. Ghostscript's pdfwrite device with -dPDFSETTINGS=/ebook re-encodes images at around 150 DPI and typically cuts a scan by 70 to 90%. Where the original was scanned in colour but is really black text on white, converting to bitonal with CCITT G4 compression gives far larger reductions.

What is a searchable PDF?

A scan with an invisible text layer produced by OCR, positioned exactly over the corresponding words in the image. You see the original page and can select, copy and search the text. It adds only a few kilobytes per page — the images remain the overwhelming majority of the file.

P

Written by Paras

We build free, browser-based file tools and write the reference material we wish existed when we were looking things up. Spotted an error? Tell us and we will fix it.