TL;DR

The reason your PDF looks broken is not the browser — it is the page. Modern article pages are stacks of ads, newsletter pop-ups, sticky headers, cookie banners, "related stories" rails, comment sections, and JavaScript-injected recommendation carousels. Hit Print and the browser tries to render all of that onto A4, then chops the last two words of every paragraph at the page break. The fix is to strip the page down to the article first, then export. Use Reader View plus Print, use Safari Reader plus Export, or use a one-click article-mode extension like Convert: Web to PDF that does both steps at once.

TL;DR: the one thing you're missing

Almost every "my PDF came out wrong" complaint reduces to one mistake: you exported the page, not the article. A modern article page is maybe 15% article and 85% chrome — navigation, ads, recommended-reads, comment threads, floating share buttons, sticky video players, three newsletter modals, and a cookie banner that reappears on every scroll. When you hit Cmd+P (or Ctrl+P), the browser dutifully tries to lay all of that out on paper. It does not know which div is the article and which div is a "You may also like" carousel. It treats them the same.

That is why the PDF has a huge blank space in the middle (an ad slot that did not resolve in the print stylesheet), why the right column is cut off (a sticky sidebar overflowing the page width), and why the last line of every page reads "Continued next pa—" (paragraphs breaking mid-word because the CSS uses a fixed line-height the print engine cannot honor).

The one thing you're missing is a step before Print: strip the page down to the article. That is what Reader View does. That is what Safari Reader does. That is what a good web-to-PDF extension does automatically. Do that step first and the PDF comes out clean, text-selectable, with images inline and captions attached, on the first try.

The rest of this post is the specific step-by-step for each browser, plus how to handle the edge cases — Medium's paywall interstitials, Substack's comment blob at the bottom, news sites with slideshow galleries, and pages that block Reader View entirely.

Method 1: Reader View + Print to PDF

This is the free, no-install method. It works in Chrome, Edge, Firefox, Arc, and Brave. Quality is genuinely good if the article page is well-structured.

Step 1 — Enable Reader View. In Chrome, click the icon that looks like a book or page in the address bar (right-hand side, near the star). If you do not see it, go to chrome://flags/#enable-reader-mode, set it to Enabled, restart. In Firefox and Edge it is built in and always visible.

Step 2 — Adjust before printing. Reader View has a toolbar. Set the font size to medium, pick a serif font (they typeset better on paper), and set the background to white (a sepia background exports as a beige rectangle behind every page — ugly and wastes ink). If Reader View mangled a pull-quote or dropped an inline image, toggle it off and back on — sometimes the extraction runs cleanly the second time.

Step 3 — Cmd+P (or Ctrl+P on Windows/Linux). In the print dialog, set Destination to "Save as PDF". Set Layout to Portrait, Paper size to A4 or Letter (whichever your default is), and Margins to Default. Uncheck "Headers and footers" — nobody wants "3/8 · example.com/article-title-that-runs-off-the-page" printed on every page.

Step 4 — Save. The output is a clean, text-selectable, searchable PDF with images inline. File size will be small (usually 200KB to 2MB for a normal-length article).

When Reader View fails: some pages block it. Medium sometimes does. Substack usually works. Most news sites work. Blogs on Ghost, WordPress, and static site generators almost always work. If the icon does not appear at all, the page's HTML is not structured enough for the extractor to find the article — skip to Method 2.

Method 2: Convert: Web to PDF (Article Mode)

If you save more than one article a week — for research, for a reading list, to archive something before it gets edited or paywalled — installing a dedicated tool saves real time. Convert: Web to PDF has an Article Mode that combines the strip-and-print steps into one click.

How it works: you click the toolbar icon, pick "Article Mode" (versus "Full Page" or "Selection"), and it uses a Readability-style extractor to isolate the article body, then renders it to PDF locally in the browser. No cloud upload — the page contents never leave your machine. That matters if the article is behind a corporate paywall you have legitimate access to but do not want piped through someone else's server.

What Article Mode strips automatically:

  • Ads, banner ads, video ads, native ads, sponsored placements
  • Newsletter pop-ups and cookie consent modals
  • "Related articles" and "Trending now" carousels
  • Sticky headers, floating share buttons, sticky video players
  • Comment sections and reaction bars
  • Author bio blocks that are just SEO padding

What it preserves:

  • The headline, deck, and byline
  • Inline images with their captions attached
  • Pull quotes and blockquotes
  • Bulleted and numbered lists
  • Code blocks (formatted, not just as prose)
  • Footnotes and inline links (text plus URL)

Edge cases it handles:

  • Multi-page articles (concatenates the pages before exporting)
  • Slideshow articles ("15 things about X" style) — extracts each slide's caption and image in order
  • Substack and Medium posts, including the free-tier ones with the "keep reading" gradient (extracts the visible portion cleanly, marks the cutoff)
  • Wikipedia articles (drops the "edit" links and hover previews, keeps refs)

The output is a normal PDF — text is selectable, links are clickable, images are embedded (not linked), file size is reasonable. For a full walkthrough of when to reach for an extension versus browser-native tools, see Best Web to PDF Chrome Extensions.

Method 3: Safari Reader + Export as PDF

Safari's Reader is the best browser-native reader on any platform. It uses Apple's extraction logic, which handles more edge cases than Chrome's port of Firefox's Readability library.

Step 1 — Trigger Reader. Click the icon in the address bar (looks like stacked lines, left side of the URL) or press Cmd+Shift+R. If the icon is greyed out, Safari has decided the page is not article-shaped — skip to Method 2.

Step 2 — Adjust. Click "aA" in the address bar to change font, size, and background. As with Chrome: white background, medium size, serif font.

Step 3 — File → Export as PDF. Do not use File → Print → Save as PDF. Safari's Export path preserves Reader's typography exactly and uses a smarter page-break algorithm — paragraphs do not break mid-sentence, images do not orphan away from their captions.

Step 4 — Name it and save. Safari's default filename is the article's H1, which is usually what you want. If the H1 is "The Article You Are Reading Right Now" (a real headline that has been used), rename it to something you can find later.

Why Safari's version is the best free option: the extractor is better, the typography is better, and the Export path produces PDFs that are visibly higher quality than Chrome's Print-to-PDF. If you are already on macOS or iOS and only save articles occasionally, this is the method. On iOS, the same flow works: Safari toolbar → Reader → Share → Options → PDF → Save to Files.

Removing ads and pop-ups before export

Reader View and Article Mode strip ads by extracting only the article. But sometimes you need to export the full page (a product page, a documentation page, a form) and still want the ads and pop-ups gone. Here is the order to try things in.

1. Dismiss what you can. Close the cookie banner. Close the newsletter modal. Some sites remember your dismissal and won't re-show it on the print render; some don't and it comes back in the PDF anyway. Try anyway — it's free.

2. Use an ad blocker with element picker. uBlock Origin (Firefox, Edge, and Chromium browsers that still allow MV2 extensions) has an eyedropper — click it, click an ad or a sticky element on the page, confirm the rule, and the element is gone until you visit the page again. Now export.

3. Use DevTools to delete the offending element. Right-click the sticky header or the ad slot, Inspect, find the containing element, press Delete. It vanishes. Cmd+P. The change lasts until you reload the page. This is the "I have five minutes and I really need this to look right" method. It works on any element on any page.

4. Use print CSS overrides. Some sites ship a @media print stylesheet that already hides most junk. Some don't. If a site regularly fails to print cleanly, a Stylus/Stylish user-style with @media print { .ad, .sticky-header, .newsletter-modal { display: none !important; } } fixes it forever.

5. Just use Article Mode. If you're spending more than a minute on the above, the extension was cheaper.

The pattern that gets people in trouble: shady "PDF converter" extensions that promise to strip ads but silently ship your page contents to a remote server, sometimes with your session cookies attached. If you saved a page while logged into Gmail or a bank, that session data can go with it. Related reading: 108 Malicious Chrome Extensions and Safe PDF Tools in 2026.

Preserving inline images and captions

The single most common failure mode after "the text got cut off" is "the images went missing" or "the captions ended up on the wrong page." Two causes.

Cause 1 — Lazy loading. Modern pages load images only when they scroll into view. If you Print before scrolling to the bottom of the article, half the images are still placeholder divs. Fix: scroll to the very bottom of the article, wait two seconds for the last images to load, then Cmd+P. In an extension like Article Mode, the extractor waits for all images in the article container to finish before rendering, so this failure mode is handled automatically.

Cause 2 — Caption-image separation. The image is a <figure> and the caption is the next <div> — legal HTML, but the print engine has no idea they belong together and can break the page between them. Reader View usually reassembles figures correctly. In raw Print, set paper size to Letter and use "Fit to page" — the extra vertical space keeps most figure/caption pairs together.

Third issue — high-resolution images blowing up the file. A single 4000×3000 hero can turn a 500KB PDF into 20MB. Extensions and reader modes rasterize images at 2x screen resolution, which is plenty. Raw Print embeds images at source resolution. If file size matters, export via Article Mode or Reader.

Comparison table

MethodTimeAds removedImages preservedText-selectableCost
Chrome Reader View + Print30 secMostlyUsuallyYesFree
Safari Reader + Export15 secYesYesYesFree (macOS/iOS only)
Firefox Reader View + Print30 secMostlyUsuallyYesFree
Convert: Web to PDF (Article Mode)5 secYesYesYesFree extension
Raw Print-to-PDF, no reader5 secNoSometimesYesFree
Screenshot of the page3 secNoNo captionsNoFree
Cloud "webpage to PDF" service20 secSometimesSometimesYesFree (but uploads your page)

The two paths worth using regularly: Safari Reader → Export (if you're on Apple, occasional use) and Article Mode extension (any browser, frequent use). Everything else is a compromise on either quality, speed, or privacy.

Frequently asked questions

How do I save an article as a PDF?

Open the article. Trigger Reader View (Chrome/Firefox/Edge: address bar icon; Safari: Cmd+Shift+R). Adjust font and background if you want. Press Cmd+P (Ctrl+P on Windows/Linux). In the print dialog, set Destination to "Save as PDF", uncheck headers and footers, set default margins, click Save. On Safari, use File → Export as PDF instead of Print — the output is cleaner. If Reader View isn't available on that page or the article has complex layout (multi-column, embedded interactives), use an article-mode extension like Convert: Web to PDF.

How do I save a news article as PDF without ads?

Do not export the raw page — every ad and pop-up will end up in the PDF. Instead, trigger Reader View first (in Chrome it's the icon in the address bar; enable it via chrome://flags/#enable-reader-mode if you don't see it). Reader View strips ads, navigation, comment sections, and "related stories" rails, leaving just the article body with inline images. Then Cmd+P → Save as PDF. If the news site blocks Reader View (some do), use an Article Mode extension, or delete the ad divs manually via right-click → Inspect → Delete before printing.

How do I save a Medium article as PDF?

Medium's Reader-View behavior varies — sometimes it works, sometimes the icon is greyed out. If it works, use it: cleanest output. If not, three options. First, log out of Medium in a private window, open the article there, and try Reader View again (Medium's logged-out layout is more Reader-friendly). Second, use an article-mode PDF extension — Medium's article HTML is well-structured enough for Readability extractors to handle. Third, for paywalled member-only stories you have legitimate access to, use Safari's Export as PDF from Reader after logging in — the export happens locally, no third-party sees your session.

How do I save a Substack post as PDF?

Substack post pages are Reader-View friendly on almost every browser. Trigger Reader View, adjust the font, Cmd+P, Save as PDF. If you want to include the comments, skip Reader View (comments live outside the article body and reader mode drops them) and use an Article Mode extension with the "include comments" option enabled. For newsletter archives you want to save in bulk, the email version is often cleaner than the web version — save the email as PDF from Gmail directly. See Best Way to Archive Webpages for the "save many pages at once" pattern.

Does Reader View work for saving articles as PDF?

Yes — Reader View is the intended workflow for exactly this. It runs a Readability extractor on the page, strips everything that is not the article, and reformats the result with clean typography. When you then Print → Save as PDF, the print engine has a much simpler DOM to lay out, which is why the output looks clean and paragraphs don't break mid-word. The one caveat: Reader View is only as good as the extractor's guess about what "the article" is. On pages with heavy custom layout (interactive data journalism, multi-column magazine features), the extractor sometimes drops the interactive parts. For those, use an Article Mode extension that lets you preview the extraction before exporting, or fall back to full-page print with elements deleted via DevTools.

Bottom line

You are not fighting the browser. You are fighting the page. Every "why did my PDF come out broken?" moment is the same underlying issue: you asked a browser to render a modern ad-and-modal-laden page onto A4, and it did what you asked. The fix is one step before Print — strip the page to just the article, then export. Reader View plus Print works. Safari Reader plus Export works better. An article-mode extension like Convert: Web to PDF does both steps in one click and handles the edge cases (lazy-loaded images, multi-page articles, Substack comments) that trip up the manual methods. Pick the one that matches how often you do this.