BASALT · JOURNAL

How to compress a PDF on a Mac without wrecking the scans

2026-08-06 · compress pdf mac

The email bounces, the filing portal rejects the upload, and the obvious fix is Preview's Reduce File Size filter. It works, in that the file gets smaller. It also turns a legible scan into something a reader has to squint at, permanently.

Where the bytes actually are

In a text PDF, most of the size is embedded font subsets and the content streams describing glyph placement. Those compress well with Flate, and a 400 KB export from Pages is usually near its floor.

In a scanned PDF, essentially all of the size is image data. Each page holds one large image XObject with an encoding filter: DCTDecode is JPEG, JPXDecode is JPEG 2000, CCITTFaxDecode the bilevel fax encoding used for black and white scans, JBIG2Decode its successor. The rest is a few hundred bytes of positioning.

That distinction decides everything. Compressing a text document means structural work: removing unreferenced objects left by earlier saves, packing small objects into object streams, subsetting fonts embedded whole, rewriting a bloated cross-reference table as a cross-reference stream. Those steps are lossless and often recover a lot from a file that has been through rounds of annotation. Compressing a scan means throwing pixels away, with no lossless path to a real reduction, so the only question is which and how many.

What downsampling does to a scan

Two independent levers exist and people conflate them.

Resolution, or downsampling, reduces the pixel count. A 600 dpi scan taken to 150 dpi has one sixteenth as many pixels. Below roughly 200 dpi, small type loses the fine strokes that distinguish similar characters, and signatures and stamps go first because their thin lines are what disappears.

Quality, or the JPEG quantization level, keeps the pixel count and discards detail within each 8 by 8 block. Aggressive settings produce ringing around high-contrast edges, which on black text on white paper is every edge, giving the smeared halo seen on badly compressed documents.

A photograph tolerates quality reduction and resents downsampling. A page of text is the reverse: it needs its resolution and tolerates harsh quality settings, being nearly bilevel already. A black and white scan does not need JPEG at all, and converting it to a bilevel image with CCITT Group 4 or JBIG2 encoding can cut size by an order of magnitude with no perceptual loss.

Why Preview's filter is blunt

macOS ships Quartz filters, and Preview exposes Reduce File Size in the Export dialog's Quartz Filter menu. It is a fixed ColorSyncTransform with hardcoded parameters you cannot see, adjust, or vary.

It applies the same downsampling and JPEG quality to every image, so the photograph and the 600 dpi text scan get identical treatment and one comes out wrong. It has no target size, so if the result is still too large there is nothing left to try. And it re-encodes already-compressed images, since JPEG is generational: decode, downsample, re-encode, and the loss compounds.

You can build your own in ColorSync Utility, under Filters, by duplicating Reduce File Size and editing its sampling and compression values. That works, but it is global rather than a per-document decision.

Hitting a specific size limit

The requirement is rarely "make it smaller." It is under 10 MB for the portal, or under 25 MB for the mail server.

A fixed setting cannot hit a target, because you do not know the output size until you have written it. The reliable approach is iterative: apply, measure, adjust. That is what a target-size compressor does internally, and what you do by hand when you run the Quartz filter, check the size, and undo.

Decide two things first. Whether the document must stay readable on screen at full zoom or only print legibly, since those have different resolution floors. And whether splitting is acceptable, because a file that will not fit at any usable quality should be split into parts rather than compressed into mush.

Compression and searchability

If the scan has been through OCR, it carries an invisible text layer positioned over the image. Compression does not remove that layer, since it lives in the content stream rather than the image, so a compressed scan stays searchable.

Ordering matters more. Compress and then OCR, and recognition runs against degraded pixels, so accuracy drops on the small type you most want to find. OCR first and the text layer comes from the best available image, the same argument made in redacting scanned PDFs.

Compression also does not remove metadata, attachments, or remnants of earlier revisions, so a smaller file is not a cleaner one. That is a separate pass, described in what is hiding inside your PDFs.

Frequently asked questions

How do I compress a PDF on a Mac?

Open the file in Preview, choose File then Export, pick Reduce File Size from the Quartz Filter menu, and save under a new name. This applies one fixed downsampling and JPEG quality setting to every image, which often degrades scanned text badly. Where legibility matters, use a tool that lets you set resolution and quality, or that targets an output size.

Why does Preview's Reduce File Size make my PDF look terrible?

Because it is a fixed Quartz filter with hardcoded parameters that downsamples and re-encodes every image identically. A 600 dpi text scan and a photograph need opposite treatment and the filter gives them the same. It also re-encodes already-compressed JPEG data, compounding loss.

How do I compress a PDF to a specific size on a Mac?

You need a tool that iterates: apply a setting, measure the file, adjust, repeat until the output fits. No fixed setting can hit a target, because output size depends on content and is not known until the file is written. Preview's filter has no target option, so hitting a cap means repeatedly exporting, checking, and undoing.

Does compressing a PDF reduce quality?

For a scanned document, yes, unavoidably, since nearly all the size is image data and reduction means discarding pixels through downsampling or harsher JPEG quantization. For a document generated from a word processor, no: the reduction comes from lossless structural work such as removing unreferenced objects and packing objects into object streams.

What resolution should I compress a scanned document to?

Keep text scans at 300 dpi where legibility matters and treat 200 dpi as the floor, since below that the fine strokes distinguishing similar characters disappear and signatures degrade first. Photographs tolerate lower resolution, having no fine line detail to lose. If the document mixes both, one global setting is wrong somewhere.

Can I compress a PDF without losing the searchable text?

Yes. The OCR text layer lives in the page content stream, not the image, so compressing the image leaves it intact and the document stays searchable. Order matters though: run OCR before compressing, because recognition on downsampled pixels is less accurate, particularly on small type and numbers.

Is it safe to use an online PDF compressor?

It requires uploading the whole document to a server you do not control, a disclosure for confidential material regardless of stated retention. The reasoning is in what you agree to with cloud PDF tools. Preview, ColorSync Utility, and native Mac applications all compress locally.

Why is my PDF so large when it is only ten pages?

Almost certainly scanned images rather than text, since a 600 dpi color scan can run to several megabytes per page while generated text is a few kilobytes. Try selecting some text: if you cannot, it is images. Other contributors are whole embedded fonts rather than subsets, and unreferenced objects accumulated from incremental-update saves.

Doing it in Basalt

Basalt's compress tool makes a file smaller and writes the result as a new document, so the original stays exactly as it was and you can compare the two. Because compression, OCR, and splitting are among the 18 tools in one window, you can OCR first, compress second, and split only if the file still will not fit. The engine runs in a sealed process with no network entitlement, enforced by macOS at the code-signature level, so nothing is uploaded and there is no telemetry. It is a 17 MB download for macOS 13 and later, Apple silicon and Intel, $29 once for up to three Macs with a 24 hour free trial, at basaltformac.com.

Redaction that proves itself

Basalt destroys the content you mark, then re-opens the file it wrote and proves the content is gone before it saves anything. Your documents never leave your Mac.

DOWNLOAD BASALT 2.3.0 BUY $29 FREE FOR 24 HOURS · MACOS 13+