Guide

Preview’s Reduce File Size Ruins PDFs — Here’s Why

By the Smol team9 min read

When you compress a PDF on Mac in Preview, macOS applies exactly one setting: a Quartz filter that re-encodes every image as JPEG at quality 0.70, resamples it to 144 DPI, and caps it at 2,400 pixels. Those three numbers are fixed, they are not adjustable anywhere in Preview, and they are the entire reason your output looks the way it does.

The file that does this is sitting on your disk and you can read it in one command. You can also replace it, which is the useful half of this article.

Everything below was measured on 26 September 2026 on a MacBook Pro (M2 Pro, 16 GB) running macOS 27.0, build 26A428.

What is Preview actually doing when you reduce file size?

Apple’s own documentation describes the route and nothing else: File → Export, choose Reduce File Size from the Quartz Filter pop-up, save. It adds one sentence of warning, “When compressed, the PDF may be of lower quality than the original,” and stops there.

“Reduce File Size” is not code inside Preview. It is a property list in /System/Library/Filters/, and Preview simply hands it to ColorSync. Read it:

cat "/System/Library/Filters/Reduce File Size.qfilter"

Stripped to the part that matters, on macOS 27.0:

KeyValueWhat it means for your file
ImageCompressionImageJPEGCompressEvery image becomes a JPEG, including flat graphics and line art that would be smaller and cleaner as PNG.
Compression Quality0.70A fixed quality value on a 0 to 1 scale, where 1 is least compressed. Workable for photographs, brutal for screenshots of text.
ImageResolution144Every image is resampled to 144 pixels per inch of the size it occupies on the page.
ImageSizeMax2400A hard pixel ceiling per image that overrides the DPI target on large pages.
ImageSizeMin0No floor. Nothing is protected from downsampling.
ImageScaleInterpolatetrueThe downsample is smoothed rather than nearest-neighbour, which is the one genuinely good decision in the file.

There is no branch in that file. A 40 MB scan of a legal contract and a 3 MB photo book get the same treatment, because the filter has no idea which one it is looking at.

What does 144 DPI actually do to your images?

It throws away most of them. A 16-page brochure was built for this test with full-page photographs placed at 279 to 1,004 PPI, then run through Reduce File Size. pdfimages -list on the result shows every single image at exactly 144 PPI.

Image in source PDFAfter Reduce File SizePixels kept
6,000 × 4,000 (822 PPI)1,051 × 701 (144 PPI)3.1%
3,400 × 2,186 (466 PPI)1,051 × 676 (144 PPI)9.6%
3,456 × 5,184 (473 PPI)1,051 × 1,577 (144 PPI)9.3%

If the text in your PDF is what matters rather than the photographs, the resolution question changes shape entirely, and reducing PDF file size without wrecking the text is the better starting point.

For a document that will only ever be read on a screen, 144 PPI is a defensible choice. For anything headed to a printer it is not close: the working convention for print is 300 PPI at final size, and Preview will take you to 144 without asking.

The ceiling is worse, and almost nobody knows it is there. ImageSizeMax is a pixel limit, not a resolution limit, so on a large page it fires before the DPI target does. A 24 × 36 inch poster was tested with a 7,222 × 4,820 photograph across the full page, which is only 134 PPI to begin with, already below the filter’s 144 target. Reduce File Size should have left it alone. It did not. The output image is 2,400 × 1,601 at 44 PPI.

That is the trap in one measurement. The bigger your page, the worse Preview’s compression gets, and the filter never tells you which rule it applied.

Why did Preview make my PDF bigger instead of smaller?

Because a Quartz filter cannot compress text, but it still rewrites the file. A 21-page, text-only agreement with subsetted embedded fonts went in at 116,995 bytes and came out of Reduce File Size at 247,782 bytes. That is 111.8% larger, from the menu item whose name is Reduce File Size.

Text and vector art in a PDF are drawing instructions, not pixels. The filter’s image settings have nothing to act on. What the document does get is a full pass through Quartz’s PDF writer, and that writer is verbose. Decompressed, the original file’s page content streams total 1,019,282 bytes. After the Quartz rewrite they total 2,658,014 bytes for identical output on the page.

Look at what the two producers emit for the same line of text:

# original producer: one text object, glyphs positioned with Td offsets
BT
/F5 15.3299999 Tf
1 0 0 -1 8 94 Tm
<0036> Tj
10.2249756 0 Td <0048> Tj
8.5258026 0 Td <0046> Tj
ET

# after Reduce File Size: every glyph in its own state + text object
q 0.75 0 0 -0.75 64.5 727.5 cm BT 15.33 0 0 -15.33 8 94 Tm /G2 1 Tf <0036> Tj ET Q
q 0.75 0 0 -0.75 64.5 727.5 cm BT 15.33 0 0 -15.33 18.22498 94 Tm /G2 1 Tf <0048> Tj ET Q

Every glyph gets its own graphics-state save, coordinate transform, text object and font selection. The page looks identical and weighs two and a half times as much before Flate even gets a look in.

Two custom Quartz filters were run over the same file, one at 225 DPI and one at 96, and both produced byte-identical 247,782-byte output. The image settings were irrelevant. On a text PDF the filter is not compressing anything at all, it is only rewriting, and the rewrite costs you.

For reference, Ghostscript at -dPDFSETTINGS=/ebook took the same file to 56,321 bytes, a 51.9% reduction, with all 50,435 extractable characters intact. The full cross-method comparison is in our tested guide to compressing a PDF on Mac.

Where do Quartz filters live, and what else is in there?

macOS ships eight of them, and they are all plain XML:

ls /System/Library/Filters/

Black & White.qfilter
Blue Tone.qfilter
Create Generic PDFX-3 Document.qfilter
Gray Tone.qfilter
Lightness Decrease.qfilter
Lightness Increase.qfilter
Reduce File Size.qfilter
Sepia Tone.qfilter

Filters follow the normal macOS library search path, in this order of usefulness to you:

  • ~/Library/Filters/ for your own. This folder does not exist by default. Create it. Anything valid you drop in here shows up in Preview.
  • /Library/Filters/ is the machine-wide equivalent, for filters you want available to every account.
  • /System/Library/Filters/ holds Apple’s, and sits on the sealed system volume. It is not writable, so do not follow any tutorial that tells you to edit Reduce File Size in place.

That last point is why so many older tutorials for this fail today. They tell you to edit Apple’s file. On any modern macOS the system volume is read-only and signed, and the correct move is to put your own copy in your home folder.

How do you write your own Quartz filter?

This is the part worth bookmarking. Three commands and one edit gets you the compression control Preview does not expose.

mkdir -p ~/Library/Filters
cp "/System/Library/Filters/Reduce File Size.qfilter" \
   ~/Library/Filters/"Reduce File Size (Print Safe).qfilter"
open -e ~/Library/Filters/"Reduce File Size (Print Safe).qfilter"

Change four things and save:

  • ImageResolution. 225 keeps a scan readable at print size. 96 is for “this has to clear an upload limit tonight.”
  • Compression Quality. A real from 0.0 to 1.0. Above roughly 0.85 the file grows fast for very little visible gain.
  • ImageSizeMax. Raise it to 4000 or higher if you work on large pages, or the 2,400 ceiling silently undercuts your DPI setting.
  • Name. This string is what appears in the menu. Change it, or you will have two entries called Reduce File Size and no way to tell them apart.

Check that you did not break the XML, then confirm the system picked it up:

plutil -lint ~/Library/Filters/"Reduce File Size (Print Safe).qfilter"

Filters in that folder are enumerated by ColorSync’s filter manager alongside Apple’s. That was verified for this article by asking QuartzFilterManager.filters(inDomains:) what it could see, and the custom filter appeared at the top of the list next to the eight stock ones. That list is the list Preview’s Quartz Filter pop-up draws from. Reopen the export sheet and yours is there.

The Domains dictionary at the top of the file declares where the filter is offered: Applications covers export sheets like Preview’s, Printing covers the PDF menu in the print dialog. Apple’s stock filter sets both to true, and so will your copy unless you change it, which is a handy way to compress anything printable from any app.

Prefer a UI to XML? ColorSync Utility (Applications › Utilities) ships a Filters editor covering the same settings, and it saves new filters into ~/Library/Filters/ for you. It is the single least-known useful app on macOS.

Two measured examples from the same 19.6 MB brochure, so you can calibrate: a filter at 225 DPI / quality 0.90 / max 4,000 px produced 16.5 MB, and one at 96 DPI / quality 0.45 / max 1,200 px produced 1.54 MB. Apple’s stock filter sits between them at 5.65 MB. That whole range has been sitting there for roughly two decades: the QuartzFilter.h header in Apple’s own SDK still carries a 2005 copyright line.

Has anyone actually complained about this?

Continuously, since Lion. The canonical thread is “Compress PDF with adjustable ratio” on Ask Different, posted on 14 December 2011. As of 26 September 2026 the Stack Exchange API reports it at a score of 47 with 34,207 views and six answers. The question is three sentences:

“One can use Preview to compress a PDF. However Preview on Mac OS X 10.7 does a too hard compression for my taste. There is only one compression setting. Are there alternative tools that allows you to adjust the compression ratio?”

Nearly fifteen years and more than a dozen macOS releases later, the answer is still yes, there is only one compression setting. The thread was eventually closed as a duplicate, which is its own kind of answer.

When is Preview exactly the right tool?

More often than a post with this headline would suggest. Reduce File Size took our 19.6 MB brochure to 5.65 MB in 3.4 seconds, which is a 71.1% reduction from software that was already installed, for free, with no account and no upload. If that is your situation, you are done.

Use Preview without a second thought when:

  • You have one image-heavy PDF and it needs to be emailable in the next minute.
  • The document will be read on a screen and never printed.
  • The images in it are photographs, which is what JPEG at 0.70 is designed for.
  • You are on a Mac you do not control and cannot install anything.

Stop and use something else when:

  • The PDF is mostly text. You will make it bigger. This is not a maybe, it is arithmetic.
  • The pages are larger than letter or A4, where the 2,400 pixel ceiling quietly takes over.
  • The file contains screenshots, charts or line art, which JPEG at 0.70 turns to mush around the edges of type.
  • You have more than about five files, since the export sheet is strictly one at a time.
  • It needs to survive printing, where 144 PPI is half of what you want.

When Smol is not the answer either

We make Smol, a Mac app that compresses PDFs locally with five presets instead of one fixed filter, which is the direct fix for the complaint in that Stack Exchange thread. On the same brochure those presets produced 222 KB, 515 KB, 943 KB, 2.36 MB and 6.29 MB, so you pick a rung rather than accepting whatever 144 DPI gives you. The walkthrough is in how to reduce PDF file size on Mac, and it is $29 once.

It is still the wrong tool in three situations from our own testing. Text-only PDFs: Ghostscript took that 117 KB contract to 56,321 bytes where our best preset managed 74,731, and Ghostscript is free. One file, once: a custom Quartz filter costs twenty minutes to write and nothing to run, and it lives inside the export sheet you already use. Editing, OCR or redaction: we compress and convert, we do not edit, and no preset substitutes for a real PDF editor.

If you are weighing the options properly, read the five-method comparison with the full result tables rather than taking our word for any of this. The same testing approach applied to images is in compress images on Mac: every method compared.

Frequently asked questions

What compression does Preview use when you reduce a PDF file size?

A single Quartz filter at /System/Library/Filters/Reduce File Size.qfilter. It re-encodes every image as JPEG at a fixed quality of 0.70, resamples to 144 DPI of the placed size, and caps each image at 2,400 pixels. None of those values are adjustable from inside Preview.

Why is my PDF bigger after using Preview to compress it?

Because the filter only compresses images, and it rewrites the whole document through Quartz on the way. If the PDF is mostly text there is nothing to compress, so you keep only the rewrite. A 21-page text-only contract in our test went from 116,995 bytes to 247,782 bytes, an increase of 111.8%.

How do I change the compression level in Preview on Mac?

You cannot change it in Preview, but you can replace the filter. Run mkdir -p ~/Library/Filters, copy Reduce File Size.qfilter into it, then edit ImageResolution, Compression Quality, ImageSizeMax and Name. Your filter appears in Preview’s Quartz Filter menu next time you open File > Export. ColorSync Utility, in Applications > Utilities, has a Filters editor if you would rather not edit XML.

Does Preview reduce PDF quality?

Yes, for images. Apple’s own documentation warns that the compressed PDF may be lower quality. In our test a 6,000 by 4,000 pixel photograph came out at 1,051 by 701, keeping 3.1% of its pixels. Text and vector content are untouched, since they are drawing instructions rather than pixels.

Why does Preview compress large-format PDFs so badly?

The ImageSizeMax key sets a 2,400 pixel ceiling per image that overrides the DPI target. On a 24 by 36 inch poster we tested, an image already below the 144 DPI target was still cut to 2,400 by 1,601 pixels, which works out to 44 DPI on that page size. The bigger the page, the lower the effective resolution.

Where are Quartz filters stored on macOS?

Apple’s eight filters are in /System/Library/Filters/, which is on the sealed system volume and cannot be edited. Machine-wide filters go in /Library/Filters/ and your own go in ~/Library/Filters/, which does not exist until you create it. ColorSync reads all three locations and Preview’s Quartz Filter menu lists what it finds.

Keep reading