ScreenshotNeo

BlogScreenshots on your device

How to Take a Scrolling Screenshot of a Website in Safari on Mac

Safari on Mac has no documented built-in scrolling screenshot. Here are the native capture shortcuts, whole-page saving options, and a clean way to capture a webpage as an image.

By the ScreenshotNeo team4 October 20267 min read

Safari on Mac does not have a documented built-in command for taking a scrolling screenshot of an entire webpage. macOS can capture the whole screen, a window, or a selected area, but those are screen images of what is currently visible. If you need to preserve the complete webpage using Safari’s built-in features, save it as a Web Archive; that file is not a screenshot image.

For a visible-area image, use Shift–Command–3 for the whole screen or Shift–Command–4 to select an area. For a clean full-page image without setting up browser automation, you can also use ScreenshotNeo, a website screenshot API.

1. Choose the output you actually need

Need Safari or macOS option What you get
An image of what is visible on the display Shift–Command–3, Shift–Command–4, or the Screenshot app A screen capture; it does not automatically include the rest of a long page.
A saved copy of the webpage, including its graphics Safari’s File > Save As, then Web Archive A webpage archive, not a PNG, JPEG, or WebP screenshot.
The page’s HTML source Safari’s File > Save As, then Page Source HTML source, not a rendered image or a complete visual copy.
A full-page image or PDF Use a screenshot capture tool or API A visual capture of the rendered page, depending on the tool and its options.

Apple’s Mac screenshot guide documents capture of the screen, a window, or a selected portion; it does not document a scrolling webpage mode. Apple’s separate Full Page screenshot instructions are for iPhone, so they do not apply to Safari on Mac. See Apple’s Mac screenshot instructions, Safari’s webpage save options, and Apple’s iPhone Full Page instructions.

2. Capture the visible part of a webpage with macOS

Capture the whole screen

  1. Open the webpage in Safari and position it as you want it captured.
  2. Press and release Shift–Command–3.
  3. Open the resulting screenshot from the location configured for screenshots on your Mac.

This captures the display, including the Safari window and anything else visible on the screen. It is useful for a quick record of the current view, but it will not scroll or stitch the rest of the page.

Select a region

  1. Press and release Shift–Command–4.
  2. Drag the crosshair over the part of the page you want.
  3. Release to take the screenshot.

This produces an image of the selected screen area. It still covers only what is currently displayed.

Use the Screenshot app controls

On macOS Mojave 10.14 or later, press Shift–Command–5 to open the Screenshot app controls. Apple documents options including a timer, a save location, a floating thumbnail, and whether to show the pointer. Supported Macs running macOS Tahoe 26 or later may also show SDR or HDR capture-format choices. These controls provide screen capture and recording options; they do not turn a long Safari page into a scrolling screenshot.

3. Save the whole webpage in Safari

If your goal is to keep the page for later rather than produce a shareable screenshot image, Safari’s Web Archive is the built-in option for saving a webpage with its graphics.

  1. In Safari, open the webpage.
  2. Choose File > Save As.
  3. Choose Web Archive as the format and save the file.

A Web Archive is a webpage file. Apple says it keeps links working while the destination webpages remain available. Some webpages may prevent items that appear on the page from being saved, so check the archive if a particular graphic or embedded item matters.

Choose Page Source in the same save flow when you specifically need HTML source code. Source code does not preserve the page’s rendered appearance as an image.

4. Get a full-page image without configuring a browser

When the deliverable must be an image or PDF of the rendered webpage, use a capture tool that renders the URL and returns the requested file. This avoids confusing an archive or HTML file with a screenshot.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. A GET request with a URL can return a PNG, JPEG, WebP, or PDF. The examples below use its documented endpoint and parameters; see the ScreenshotNeo API documentation for request options.

cURL

curl -G "https://api.screenshotneo.com/v1/shot" \
  -d access_key=YOUR_API_KEY \
  --data-urlencode url=https://stripe.com \
  -o shot.webp

Python

import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
    timeout=90,
)
r.raise_for_status()
with open("shot.webp", "wb") as f:
    f.write(r.content)

Node.js

const q = new URLSearchParams({
  access_key: 'YOUR_API_KEY',
  url: 'https://stripe.com'
});
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
const bytes = new Uint8Array(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', bytes));

Replace the example target with the page you are allowed to capture. Keep the API key private; do not put it in a public webpage or client-side application. The sample output filename uses WebP, matching the service’s default-style example; choose the matching output format through the documented API options if you request another format.

ScreenshotNeo removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers identify the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.

Create a free ScreenshotNeo account to get 1,000 screenshots a month with no card.

5. Troubleshooting

Symptom Likely cause What to do
The screenshot includes only the visible section. The Mac shortcut captures the screen or selected area; it does not scroll the webpage. Use a full-page capture tool for an image, or save a Web Archive if a webpage file meets your need.
You cannot find the screenshot file. The Screenshot app may be configured to save somewhere other than the location you expected. Open Screenshot controls with Shift–Command–5 and check the save-location option.
The Web Archive is missing an embedded item. The site may restrict saving some items. Check the saved archive and, if you need a visual record, capture the rendered page as an image.
The saved Page Source does not look like the webpage. Page Source is HTML, not a rendered capture. Use Web Archive for a saved webpage or a screenshot tool for an image.
An API request returns an error instead of an image. The key, URL, network request, or page load may be invalid or unsuccessful. Check the key and URL, inspect the HTTP status and response headers, and consult the API documentation for supported parameters and response behavior.
A page is blank or blocked during API capture. The page may be blank, timed out, failed to load, or presented a bot check. Inspect the response’s X-Page-Verdict and X-Billed headers; ScreenshotNeo says those unsuccessful outcomes are not billed.

6. Reliability, speed, and cost considerations

  • For a quick visible record: the built-in shortcuts are immediate and require no account, but capture only the screen view.
  • For preserving content: a Web Archive is convenient, though some sites can prevent items from being saved and the result is not an image.
  • For repeatable full-page captures: an API can avoid manual scrolling and browser setup. Page load time and page behavior still affect when a capture is ready; use an appropriate timeout and inspect failures.
  • For ScreenshotNeo billing: clean shots are billed. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and the response indicates verdict and billing. Plans are Free: 1,000/month; Starter: $5 for 3,000; Growth: $15 for 15,000; Pro: $39 for 60,000; Scale: $99 for 250,000; Business: $249 for 1,000,000. Yearly billing gives two months free, and every feature is on every plan.

7. Frequently asked questions

Can Safari take a full-page screenshot on Mac?

Apple’s documented Mac screenshot controls do not include a scrolling-page capture mode. Use a full-page capture tool when the required output is an image.

Can I use Shift–Command–5 to capture a scrolling page?

No scrolling function is documented for that control. It opens the Screenshot app controls on supported macOS versions.

Is a Web Archive the same as a screenshot?

No. A Web Archive saves webpage content in an archive file; a screenshot is a visual image of the rendered page.

Does Apple’s Full Page option work on Mac?

The cited Full Page instructions are for iPhone. They should not be treated as Mac Safari steps.

Can an AI agent capture a webpage?

ScreenshotNeo’s MCP server exposes screenshot, page-info, and PDF capture tools for MCP clients, including Claude and Cursor.

Sources