PDFs

Why Your InDesign PDF Export Is 50 MB

By the Smol team11 min read

Your InDesign PDF is too large because the placed images are still at camera resolution. A 24-megapixel photograph in an 88 mm frame sits at 1,719 PPI, and a press needs 300.

That one ratio accounts for most of the bytes. Our test layout, twelve A4 pages with twenty-four placements, exported at 34,826,340 bytes. Downsampled to exactly 300 PPI it is 552,962 bytes, with nothing lost that the paper could have shown.

The export preset decides whether that happens, and the three Adobe ships behave very differently. Their exact values are on your disk in plain text, so this article quotes them rather than paraphrasing.

How much of a placed photo does the page actually use?

Almost none of it, which is the part that surprises people. A frame at a given width needs a fixed number of pixels to hit 300 PPI, and a modern camera file has an order of magnitude more than that.

Frame widthPixels needed at 300 PPIA 24 MP photo suppliesProportion used
54 mm (2.13 in)637 × 424 = 0.27 MP6,000 × 4,000 = 24 MP1.1%
88 mm (3.46 in)1,046 × 697 = 0.73 MP6,000 × 4,000 = 24 MP3.0%
210 mm, full-bleed A42,480 × 3,508 = 8.7 MP6,000 × 4,000 = 24 MP36%
The first two rows are the pixel counts Ghostscript actually produced when downsampling our test layout to 300 PPI.

Twenty-four placements at roughly 1 to 3% utilization is how a twelve-page brochure becomes a 35 MB PDF. The images are not too big for the camera. They are too big for the frame, and the export kept them anyway.

Cropping does not help. This is worth stating plainly because it looks like it should. Our full-bleed test page crops a landscape photograph to a portrait A4 sheet, showing about 47% of its width. Run pdfimages -list on the export and every one of those images is still a complete 6,000 × 4,000 frame. Over half of every photograph in that document sits outside the page and inside the file.

How do you find out which images are the problem?

In InDesign, open Window → Links and expand the Link Info panel at the bottom. It reports Actual PPI, the native resolution of the file, and Effective PPI, the resolution after your scaling. Effective PPI is the only one that matters, and Adobe documents the pair in its own knowledge base. Anything reading well above 300 is paying rent it cannot afford.

On a PDF that has already been exported, one command tells you the same thing. Install poppler with brew install poppler, then:

pdfimages -list export.pdf

The x-ppi column is effective resolution. On our test layout every row read 1719 or 2824. If yours reads 300, the images are not your problem and you should read the next section anyway, because there are three other causes.

What does each InDesign export preset actually do?

InDesign reads its Adobe PDF Presets from a folder of plain-text .joboptions files. You can open them in any editor and read the settings the export dialog only summarizes:

ls "/Library/Application Support/Adobe/Adobe PDF/Settings/"
# High Quality Print.joboptions   Press Quality.joboptions
# Smallest File Size.joboptions   PDFX1a 2001.joboptions   …
Setting[Smallest File Size][High Quality Print][Press Quality]
Color image resolution100 ppi300 ppi300 ppi
Grayscale resolution150 ppi300 ppi300 ppi
Monochrome resolution300 ppi1200 ppi1200 ppi
Downsample threshold1.5×1.5×1.5×
JPEG QFactor1.300.150.15
Color conversionsRGBLeave unchangedCMYK
Embed all fontsNoYesYes
Live transparencyFlattenedFlattenedFlattened
PDF version1.51.41.4
Read from the shipped .joboptions files. All three set AllowTransparency to false, so all three flatten.

Two rows deserve attention. [Smallest File Size] does not embed fonts. Adobe’s own description string inside that file calls it “best suited for on-screen display, e-mail, and the Internet,” which is honest labelling for a preset that will happily send a printer a document whose typeface is a suggestion.

And the JPEG quality gap is enormous. QFactor 1.30 against 0.15 is not a nudge, it is a different picture. Lower is better in that scale, and [Smallest File Size] sits at the far end of it.

Applying those documented values to our 34.8 MB export, with Ghostscript standing in for Distiller so the comparison is reproducible:

RouteOutputChangeImage PPIColor
Export as-is, no downsampling34,826,340 B—1,719 / 2,824RGB
[Press Quality] values1,619,837 B−95.3%300CMYK
Ghostscript /prepress2,562,076 B−92.6%300Unchanged
Ghostscript /printer1,665,636 B−95.2%300Device independent
[Smallest File Size] values129,314 B−99.6%100sRGB
Ghostscript 10.07.0 with the resolutions, downsample type, threshold and color strategy read from the matching .joboptions file.

A 95% saving with every image still at a full 300 PPI is not a compromise. It is the export doing what it was always supposed to do.

Why is it still huge when you used a print preset?

Four reasons, in the order we would check them.

The downsample threshold. Every one of those presets carries a threshold of 1.5, so a preset targeting 300 ppi only acts on images above 450 PPI. Anything between 301 and 450 is left exactly as it is. We watched the same behaviour in Ghostscript: /prepress on a file whose images sat at 342 PPI changed it by −0.0%. If your Links panel shows Effective PPI in the 300s, no print preset will touch it.

Transparency flattening. All four Adobe presets set AllowTransparency to false, and PDF/X-1a targets PDF 1.3, which has no transparency model at all. Drop shadows, feathered edges, blend modes and transparent PSD layers therefore get rasterized into new images at flattener resolution during export. One feathered box over a photograph can turn a vector page into a page-sized bitmap.

Color profiles on every placed image. A tagged image carries its ICC profile into the PDF. That is usually a few hundred kilobytes rather than megabytes, but with a few dozen placements it adds up, and it is the reason Ghostscript spends so long on design exports. Our twelve-page layout took 90 to 112 seconds through gs presets that rebuild color, against 3.5 seconds for one that does not.

Placed PDFs and Illustrator files. A placed PDF is embedded whole, including the parts your frame crops away and any images inside it at their own resolution. The same is true of a placed AI file. A logo that is a 40 MB Illustrator document is a 40 MB object in your export.

How do you fix a PDF you have already exported?

Re-exporting from InDesign with the right preset is the correct answer and you should do that if you still have the document. When you do not, or when the client sent you the PDF, these are the measured options on the same 34.8 MB file:

RouteOutputImage PPITimeGood for
Ghostscript, explicit 300 dpi552,962 B3003.75 sPrint. Nothing lost.
Smol, large1,145,586 B516 / 8471.84 sPrint with headroom.
Smol, medium386,141 B344 / 5650.89 sPrint or screen.
Smol, small201,394 B258 / 424—Screen, client review.
Preview, Reduce File Size688,518 B1441.71 sScreen only.
Smol presets are long-edge pixel caps, so on this document’s small frames even medium clears 300 PPI. On a full-bleed page it would not.

The Ghostscript command with the threshold set to 1.0 so it acts on everything above target:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.6 \
   -dDownsampleColorImages=true \
   -dColorImageDownsampleType=/Bicubic \
   -dColorImageResolution=300 \
   -dColorImageDownsampleThreshold=1.0 \
   -dEmbedAllFonts=true -dSubsetFonts=true \
   -dNOPAUSE -dQUIET -dBATCH \
   -sOutputFile=print-ready.pdf export.pdf

One thing none of these tools do: discard the pixels outside a crop. Ghostscript downsampled our full-bleed brochure to 5,264 × 3,509, which is 300 PPI across the whole image including the half that is off the page. If that matters, crop destructively in Photoshop and re-place, or run the export through a PDF optimizer that can discard out-of-frame image data.

One more thing to check before the file leaves your machine. The export carries your document metadata, and no compression preset removes it. We verified this on every route: the Title field survived intact. If your .indd was called pitch-v4-FINAL-client-B, that string is in the PDF you are about to send to client A.

When Smol is not the answer

We make a Mac compression app, and for a designer three cases point elsewhere.

The file is going to a press. We do not convert to CMYK, attach an output intent, or enforce PDF/X. Our presets are pixel caps, so on a full-bleed A4 page the ceiling is 137 PPI no matter which one you pick. For a press file, re-export from InDesign with [Press Quality] or the profile your printer specifies. We go through the reasoning in compressing a PDF for print.

You still have the InDesign document. Fixing it at the export stage is better than fixing it afterwards, because the export can subset fonts properly, control flattener resolution and apply a color policy. A compressor can only work on what came out.

You need one file compressed once. Preview’s Reduce File Size took this export to 689 KB in under two seconds, free. For a client review PDF that will be looked at on a laptop, that is a complete answer and the caveats are here.

Where we fit a studio workflow: the folder of client-review exports, the presentation deck that has to go out now, and the archive of last year’s jobs that is eating a drive. Drop them all in, pick a level, and the files never leave the machine. Smol is $29 once, with no per-file limit, no account, and no subscription. For how it sits against everything else in the category, including where it loses, we ranked the Mac PDF compressors. If the destination is an upload form rather than a printer, the target-size table is here.

How these numbers were measured

Run on 26 September 2026 on a MacBook Pro (Mac14,9), Apple M2 Pro, 16 GB of RAM, macOS 27.0 (build 26A428). Sizes are raw bytes from stat -f%z, resolutions from pdfimages -list (poppler 26.04.0). Ghostscript 10.07.0, qpdf 12.3.2, Smol 1.0.35.

An honest note on the test file. There is no InDesign on the test machine, so the fixture is a stand-in with the identical failure mode: a twelve-page A4 layout with twenty-four placements of eight 6,000 × 4,000 photographs in 88 mm and 54 mm frames, rendered to PDF by headless Chrome, which embeds placed images at their native resolution and does not downsample. That is precisely the condition this article is about. The photographs are synthetic plasma-and-noise composites generated with ImageMagick 7.1.2, not anyone’s camera roll, and no client artwork was used.

Adobe preset values are read from the .joboptions files Adobe installs in /Library/Application Support/Adobe/Adobe PDF/Settings/. They are plain text and each carries Adobe’s own description string. The “[Press Quality] values” and “[Smallest File Size] values” rows are Ghostscript runs configured with the resolutions, downsample type, threshold and color strategy taken from those files, so they are reproducible without a Creative Cloud subscription. They are not InDesign exports and we are not presenting them as such.

Frequently asked questions

Why is my InDesign PDF export so large?

Because placed images are exported at their original camera resolution unless the preset downsamples them. A 24-megapixel photograph in an 88 mm frame is 1,719 PPI where a press needs 300, so roughly 97% of those pixels are wasted. Our twelve-page test layout exported at 34,826,340 bytes and came down to 552,962 at a full 300 PPI.

What is the difference between Smallest File Size and Press Quality in InDesign?

Read from Adobe’s own preset files: [Smallest File Size] downsamples color to 100 ppi with a JPEG QFactor of 1.30, converts to sRGB and does not embed fonts. [Press Quality] downsamples to 300 ppi at QFactor 0.15, converts to CMYK and embeds everything. The first is for email and the web, and Adobe’s description string says so.

Does cropping an image in InDesign reduce the PDF file size?

No. The cropped pixels stay in the exported file. Our full-bleed test page shows about 47% of a landscape photograph on a portrait A4 sheet, and every image in the PDF is still a complete 6,000 by 4,000 frame. To actually remove them, crop destructively in Photoshop and re-place, or run the export through a PDF optimizer that discards out-of-frame image data.

I used Press Quality and the PDF is still enormous. Why?

Most likely the downsample threshold. Adobe’s print presets use a threshold of 1.5, so a preset targeting 300 ppi only acts on images above 450 PPI. Anything between 301 and 450 passes through untouched. Ghostscript behaves identically: /prepress changed a file whose images sat at 342 PPI by −0.0%.

How do I check the effective PPI of images in an InDesign document?

Open Window > Links and expand the Link Info panel. It shows Actual PPI, the native resolution of the file, and Effective PPI, the resolution after your scaling. Effective PPI is the one that matters. On a PDF that has already been exported, "pdfimages -list file.pdf" prints the same figure in its x-ppi column.

Does transparency flattening make an InDesign PDF bigger?

It can, substantially. All four of Adobe’s stock presets set AllowTransparency to false, and PDF/X-1a targets PDF 1.3, which has no transparency model. Drop shadows, feathering, blend modes and transparent PSD layers are therefore rasterized into new images at export time, and one feathered box over a photograph can turn a vector page into a page-sized bitmap.

Keep reading