BlogScreenshots on your device
How to Screenshot a Whole Browser Page on Mac
Capture an entire webpage on Mac with Firefox or Chrome, understand Safari’s limits, and automate clean full-page shots with ScreenshotNeo.
Short answer: Use Firefox’s built-in screenshot tool: open the page, press Command+Shift+S, choose Save full page, then download the PNG or copy it. Chrome can also capture the full page through DevTools. Safari’s documented whole-page save creates a Web Archive or HTML source, not a long PNG screenshot.
What a whole-page screenshot captures
A normal Mac screen capture records only the visible viewport. A full-page capture renders the page from its top to its bottom as one image, including content below the fold. It is different from an area selection, a printed PDF, a Web Archive, or saved HTML source.
Method 1: Firefox’s built-in full-page screenshot
- Open the webpage in Firefox.
- Right-click an empty part of the page and choose Take Screenshot. You can also press Command+Shift+S.
- In the screenshot interface, select Save full page.
- Choose Download to save a PNG in Firefox’s download folder, or choose Copy to put the image on your clipboard.
Firefox also offers visible-area and selected-region captures. Choose Save full page when you need the complete scrollable document. Mozilla’s documentation covers this workflow and the download and clipboard options (Firefox screenshot help).
If the Firefox menu item is missing
Open DevTools, open its settings, and enable Take a screenshot of the entire page under the available toolbox buttons. A camera button then appears in the DevTools toolbar and can capture the whole page.
Method 2: Chrome DevTools
- Open the page in Chrome.
- Open DevTools with Command+Option+I, or use View → Developer → Developer Tools.
- Open the DevTools Command Menu with Command+Shift+P.
- Search for
screenshot. - Choose Chrome’s full-page screenshot command and save the resulting image.
The exact command label can vary between Chrome releases. Chrome’s DevTools documentation describes full-page capture through DevTools and the Command Menu (Command Menu documentation). Do not select Capture area screenshot when you need the entire page; that command captures only a chosen rectangle.
Safari: save the page, but do not confuse it with a screenshot
Safari’s documented whole-page workflow is File → Save As, followed by Web Archive or Page Source. A Web Archive keeps page graphics and links available for later viewing; Page Source saves the HTML source. Neither is a long PNG screenshot. Apple’s guide does not document a one-click full-page PNG sequence for Safari, so use Firefox or Chrome when the required output is an image (Apple Safari guide).
Which Mac method should you choose?
| Need | Best choice | Output |
|---|---|---|
| Fastest built-in image capture | Firefox | Full-page PNG or clipboard image |
| You already work in Chrome | Chrome DevTools | Full-page screenshot image |
| Offline copy with links and assets | Safari Web Archive | Web Archive, not PNG |
| Repeatable capture in code | ScreenshotNeo or browser automation | PNG, JPEG, WebP, or PDF depending on configuration |
Before you capture: quality checklist
- Wait for the page to finish loading.
- Scroll through the page once if images or sections load lazily.
- Close cookie banners, newsletter prompts, chat bubbles, and other overlays when they obscure content.
- Check whether a sticky header repeats over the page.
- For long pages, verify the saved image at its bottom edge and inspect sections that load after scrolling.
- Use a private window or a logged-in window deliberately; the screenshot reflects the current session.
Common problems and fixes
The screenshot includes only what I can see
You selected a normal screen capture or an area capture. Reopen Firefox’s screenshot UI and choose Save full page, or use Chrome’s full-page DevTools command.
The bottom of the page is blank
The site may load content only after scrolling, or the capture reached a timeout. Scroll through the page first, wait for images to appear, and retry. For automated captures, wait for a selector, a delay, or network idle when the tool supports it.
Cookie consent or chat widgets cover the content
Dismiss the overlay before capturing. If the page is being captured repeatedly, use an automated workflow that can accept consent and hide known overlays before the screenshot.
The page layout changes between captures
Responsive layouts depend on viewport width, device pixel ratio, logged-in state, cookies, timezone, and user agent. Keep those conditions consistent, and capture at a defined viewport.
Chrome does not show the expected command
Open the Command Menu and search for screenshot again. Chrome labels can change between versions. Confirm that DevTools is focused and select the full-page command rather than Capture area screenshot.
Safari saved a file, but it is not an image
Safari’s documented whole-page save produces a Web Archive or Page Source. Open the page in Firefox or Chrome when you need PNG output.
Or skip the browser setup
ScreenshotNeo provides a website screenshot API and MCP server. One GET request returns a PNG, JPEG, WebP, or PDF. See the ScreenshotNeo documentation for the available capture 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)
open("shot.webp", "wb").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}`);
ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before the shot. Bot checks, blank pages, timeouts, failed loads, and cache hits are never billed; response headers identify the page verdict and whether the request was billed. Its MCP server lets AI agents use take_screenshot, get_page_info, and capture_pdf. You get 1,000 screenshots per month free with no card, and paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.
Automation options and capture controls
For repeatable jobs, define the page state instead of relying on a person’s browser session. ScreenshotNeo supports full-page capture with lazy images loaded, CSS-selector element capture, dark mode, device presets or custom viewports, retina scale, custom CSS and JavaScript, clicks before capture, hidden selectors, waits for selectors or network idle, blocked ads and trackers, custom headers and cookies, user agents, Authorization headers, timezone and geolocation, transparent backgrounds, image resizing, cache TTLs, signed public image links, asynchronous jobs with signed webhooks, bulk capture for up to 100 URLs per call, usage reporting, and PDF settings such as paper size, margins, landscape mode, and page ranges. Parameter names used by other screenshot APIs also work, which can simplify migration; check the documentation for exact request syntax.
Performance, reliability, and cost notes
- Local browser capture: best for an occasional manual image, but results depend on the browser version, extensions, session state, viewport, and page timing.
- Repeatability: use a fixed viewport, device scale, user agent, timezone, cookies, and wait condition when comparing captures.
- Large pages: full-page images can be very tall and memory-heavy. Prefer WebP or JPEG when PNG size is unnecessary, or capture a specific element.
- Dynamic pages: wait for the content that matters rather than using a short fixed delay. Lazy images and client-rendered sections need time to finish.
- API cost: ScreenshotNeo bills only clean screenshots. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, and every response includes
X-Page-VerdictandX-Billedheaders. - Plans: Free includes 1,000 shots per month with no card; Starter is $5 for 3,000, Growth $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000, and Business $249 for 1,000,000. Yearly billing gives two months free, and every feature is available on every plan.
FAQ
Can the Mac screenshot shortcut capture the entire page?
No. macOS screen shortcuts capture the visible screen or a selected region. Use a browser full-page function for content below the fold.
Does Firefox save a full-page screenshot as a PDF?
Firefox’s documented full-page screenshot workflow saves or copies a PNG. Use printing or a PDF capture tool when you need a document PDF.
Is Chrome’s area screenshot the same as full-page capture?
No. Area capture records a selected rectangle. Choose the separate full-page screenshot command.
Can I capture only one section?
Yes. Use a browser region capture for a manual selection, or an element capture by CSS selector in an automated tool such as ScreenshotNeo.
Why does a screenshot differ from what another person sees?
Websites can vary by viewport, device pixel ratio, cookies, account state, location, timezone, user agent, and experiments. Match those inputs before comparing images.


