How to take full-page screenshots in Safari on Mac and iPhone

Capture a whole webpage in Safari on Mac or iPhone. Choose a full-page image or PDF, load missing content, and fix cropped or incomplete captures.

Blog post4 min read

Written by

Dmytro Krasun

Published on

On iPhone: take a normal screenshot in Safari, open the screenshot editor (tap the thumbnail if one appears), and switch to Full Page.

On Mac: the usual screenshot shortcuts (Cmd + Shift + 3/4/5) only capture what’s on screen. To capture the whole page, use Safari’s Web Inspector, or save the page as a PDF.

Which one you want depends on what you’re going to do with it:

You wantUse
A whole page captured on your iPhoneSafari’s Full Page screenshot
A full-page image on your MacWeb Inspector’s Capture Screenshot
A document you can read, search, or printSave as PDF
An image of a public URL, no DevToolsAn online full-page screenshot tool

An online tool loads the page in its own browser. If you need to capture your logged-in view, or a bug that only happens in Safari, capture it in Safari itself.

Full-page screenshot on iPhone

Open the page in Safari and wait for it to load. Then:

  1. Press Side + Volume Up together. On iPhones with a Home button, press Side + Home.
  2. If a thumbnail appears, tap it before it disappears. On versions that open the screenshot editor directly, continue there.
  3. Tap Full Page at the top. A tall preview of the whole page appears on the right.
  4. Crop or mark it up if you want, then use the save control to choose where to keep it. On older versions, tap Done first.

Depending on your iOS version, the choices can include Save to Photos (an image) and Save PDF to Files (a PDF). The PDF won’t appear in Photos, so check Files if you can’t find it. Apple’s iPhone screenshot guide has a version picker if your screen looks different.

No Full Page option? If you’re viewing the page inside another app, try Open in Safari and capture it there. Availability depends on the app, page, and iOS version, so an in-app browser isn’t always the cause.

Before you send it to anyone, scroll to the bottom of the saved file. The long preview doesn’t guarantee that every image and chart actually loaded.

Full-page screenshot on Mac

Safari’s Web Inspector can capture a page element. On an ordinary scrolling webpage, selecting the root <html> element can capture the full document. Pages with separate scrolling panels need a different approach, covered below.

First, turn on the developer tools if you don’t see a Develop menu:

  1. Go to Safari → Settings → Advanced.
  2. Tick Show features for web developers. Older versions call it Show Develop menu in menu bar.

Then capture:

  1. Open the page and press Option + Cmd + I to open Web Inspector.
  2. Go to the Elements tab.
  3. Right-click the top <html> line and choose Capture Screenshot.
  4. Save the image, open it, and scroll to the bottom to check it’s complete.

For more on the setup, see WebKit’s guide to enabling Web Inspector.

If the screenshot stops partway down, the page probably scrolls inside a panel rather than as a whole document. Many web apps work like this. Capturing <html> won’t expand that panel. Use the app’s own export, or capture the panel’s sections one at a time.

Save as PDF on Mac

If you want something to read or print rather than a picture of the design, press Cmd + P, check the preview, and choose Save as PDF from the PDF menu in the lower-left corner. Apple’s PDF instructions cover the dialog.

Many sites have print styles that hide menus and reflow the content. That’s great for an article or a receipt, but the PDF won’t look like the page on screen. If the design itself is what matters, take an image instead.

Get a long page ready before you capture

These help no matter which method you use:

  • Scroll to the bottom slowly, then back to the top. Lots of sites only load images once you scroll near them.
  • Open the accordions and tabs whose content you want in the shot.
  • Close pop-ups and cookie banners using the page’s own buttons.
  • Give charts and web fonts a second to finish. The spinner going away doesn’t always mean the page is done.

Some long lists (feeds, big tables) remove earlier items as you scroll, so the whole list never exists on the page at once. For those, use the site’s export, or take a few screenshots and label them clearly.

Use an online tool for a public page

For a public URL, the full-page screenshot tool is often quicker than Web Inspector: enter the URL and download the image.

It uses its own browser, though, so it won’t have your login, your settings, or that dropdown you left open. It also can’t tell you whether a Safari-specific bug is fixed.

If you need the same capture for many URLs or on a schedule, use the ScreenshotOne API with an explicit viewport and full_page=true. And to make screenshots look nicer before sharing them, see our macOS screenshot guide.

When it doesn’t work

ProblemTry this
Only the visible screen was savedOn iPhone, tap Full Page. On Mac, use Web Inspector, not the system shortcut
Images near the bottom are missingScroll the whole page first, then capture again
The PDF looks different from the pageThat’s print CSS. Take an image if the layout matters
A table or feed is cut offIt scrolls inside a panel, or it removes items as you scroll
An online tool shows a login pageCapture it in Safari, or pass a session through the API
The image is too long to readShare focused crops alongside the full capture

Filing a bug? Include the URL, the date, your Safari and macOS/iOS versions, and the window size. It saves a round of back-and-forth.

Read more Screenshot rendering

Interviews, tips, guides, industry best practices, and news.

View all posts
Convert HTML to an Image in Python

Convert HTML to an Image in Python

Render HTML strings and local files as images with Python and Playwright. Add CSS, load assets, preserve transparency, or use the ScreenshotOne API.

Read more
Take website screenshots with Python

Take website screenshots with Python

Learn how to take webpage screenshots in Python with Playwright, including full-page screenshots, common fixes, and production-ready API options.

Read more

Automate website screenshots

Exhaustive documentation, ready SDKs, no-code tools, and other automation to help you render website screenshots and outsource all the boring work related to that to us.