ScreenshotNeo

BlogScreenshots on your device

How to Take a Full-Page Screenshot with a Keyboard Shortcut

Learn the full-page screenshot shortcut for Firefox, Edge, Chrome and iPhone, plus reliable alternatives when a browser capture fails.

By the ScreenshotNeo team1 October 20266 min read

There is no universal full-page screenshot shortcut. The shortcut depends on your browser and device, and it usually opens a capture tool where you then choose a full-page option.

Browser or device Shortcut or button flow Final action
Firefox desktop Ctrl + Shift + S (Windows/Linux)
Command + Shift + S (macOS)
Choose Save full page.
Microsoft Edge Ctrl + Shift + S Choose Capture full page.
Google Chrome Ctrl + Shift + P (Windows/Linux)
Command + Shift + P (macOS)
In DevTools Command Menu, select a screenshot command and then the full-size or full-page option.
iPhone Safari Press the side button + volume-up button (or Home + side button on Home-button models) Tap the thumbnail, select Full Page, then save or share.

Browser versions and device availability can change. If a shortcut does nothing, open the browser’s capture or command menu from its menus and look for the equivalent full-page command.

1. Firefox: use Save full page

Firefox has the most direct desktop workflow.

  1. Open the webpage you want to capture.
  2. Press Ctrl + Shift + S on Windows or Linux. On macOS, press Command + Shift + S.
  3. When the screenshot interface appears, select Save full page.
  4. Review the preview, then download the image or copy it to the clipboard.

Firefox also offers visible-screen and selected-region captures. Use those when a complete page would be unnecessarily large.

See Mozilla’s current instructions in Firefox screenshots support.

2. Microsoft Edge: choose Capture full page

  1. Navigate to the page.
  2. Press Ctrl + Shift + S.
  3. In Edge Screenshot, select Capture full page.
  4. Use the overlay controls to copy or save the result.

Edge says feature availability and behavior can vary by device type, market and browser version. If the shortcut opens a different panel, search the browser menu for Screenshot and select the full-page command.

Reference: Microsoft Edge Screenshot.

3. Chrome: open DevTools Command Menu first

Chrome’s documented shortcut opens the DevTools Command Menu; it is not a guaranteed one-keystroke full-page capture.

  1. Open the page in Chrome.
  2. Press Ctrl + Shift + P on Windows/Linux, or Command + Shift + P on macOS.
  3. Type screenshot in the command menu.
  4. Select the screenshot command that captures the full page or full size.
  5. Let Chrome finish rendering and save the generated image.

The exact command labels can differ as DevTools changes. Chrome’s documentation covers the Command Menu and screenshot commands, but does not establish the shortcut alone as a universal full-page action: Chrome DevTools Command Menu.

4. iPhone: use the Full Page option in Safari

iPhone uses hardware buttons rather than a keyboard shortcut.

  1. Open the webpage in Safari.
  2. Quickly press the side button and volume-up button together. On models with a Home button, press Home and the side button.
  3. Tap the screenshot thumbnail in the lower-left corner.
  4. Select Full Page.
  5. Save the PDF or share it using the available controls.

Apple documents Full Page capture for webpages in Safari. This workflow may produce a PDF rather than a bitmap image: Apple’s iPhone screenshot guide.

5. Make the capture include the entire page

A full-page command must render content below the fold. Results can differ from what you see after manually scrolling.

  • Wait for lazy content. Images, charts and embeds may load only after scrolling. Scroll through the page once before capturing when content is missing.
  • Close overlays. Cookie dialogs, newsletter prompts and chat bubbles can cover content or become part of the image.
  • Check responsive layout. A narrow viewport may stack columns and create a much taller image. Resize the window first if you need a desktop layout.
  • Watch sticky headers. Fixed navigation bars can repeat over the page while it is stitched.
  • Capture at a stable zoom. Browser zoom changes the output dimensions and text size. Return to 100% when consistency matters.
  • Allow fonts to finish loading. Capturing too early can produce fallback fonts or shifted line breaks.

6. When a keyboard shortcut is not enough

Built-in tools are convenient for occasional captures, but they depend on the browser session. They may fail on bot checks, pages that never finish loading, infinite scroll, cross-origin embeds or very large documents. A repeatable workflow should record the URL, viewport, zoom, browser version and capture time so another person can reproduce it.

7. Or skip the browser setup

ScreenshotNeo provides a website screenshot API and MCP server. One GET request returns a PNG, JPEG, WebP or PDF. It can capture a full page with lazy images loaded, wait for a selector, delay or network idle, set a viewport or device preset, use dark mode and retina scale, hide selectors, click an element, add custom CSS or JavaScript, block ads and trackers, provide headers, cookies, a user agent, timezone or geolocation, resize images, cache with a chosen TTL, create signed links, run async jobs with signed webhooks and capture up to 100 URLs in one bulk call. See the ScreenshotNeo API documentation for option names.

Cookie banners, newsletter popups and chat widgets are removed before the shot. Bot checks, blank pages and failed loads are never billed, and response headers identify the page verdict and whether the request was billed. An MCP server lets Claude, Cursor and other MCP clients call take_screenshot, get_page_info and capture_pdf.

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}`);

The free plan includes 1,000 screenshots each month with no card. Paid plans start at $5 for 3,000 shots; every feature is available on every plan. Only clean shots are billed, while cache hits and failed captures cost nothing. For automated jobs, set a timeout, inspect the HTTP status and X-Page-Verdict/X-Billed headers, and retry transient network failures with backoff.

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

8. Troubleshooting

Problem Likely cause Fix
The shortcut does nothing Another app owns the key combination, or the browser changed its shortcut. Focus the browser window, disable the conflicting global shortcut, or open Screenshot/DevTools from the browser menu.
Only the visible viewport is saved The capture tool is in region or screen mode. Choose Save full page, Capture full page or the full-size DevTools command.
Images are blank or missing Lazy loading, blocked resources or capture started too soon. Scroll once, wait for images, reload, and capture again. For automation, wait for a selector or network idle.
The page is cut off Infinite scroll, a maximum image size, or a failed stitch. Capture sections, disable infinite-scroll scripts where possible, or use an API that supports full-page rendering and PDF output.
Cookie dialog covers the result The consent banner was still active. Accept or dismiss it before capture, or use ScreenshotNeo’s consent and popup removal.
Text looks different Web fonts had not loaded, or browser zoom differed. Wait for fonts, use 100% zoom, and keep viewport settings consistent.
ScreenshotNeo returns an error Invalid key, malformed URL, blocked target or timeout. Check the API key and URL encoding, increase the client timeout, inspect response headers, and retry only transient failures.

9. Reliability, performance and cost

  • Reliability: Manual browser captures depend on local focus, extensions, logged-in state and current browser behavior. Automated captures should use explicit waits, fixed viewports and retries for transient network errors.
  • Performance: Full-page images are larger and slower than viewport captures. A selector capture, lower retina scale or WebP output reduces transfer size. Blocking ads and trackers can reduce page work, but verify that required resources still load.
  • Consistency: Record browser or API version, viewport, device scale, timezone, geolocation, cookies and custom headers when visual diffs matter.
  • Cost: Built-in browser tools have no per-capture service charge. ScreenshotNeo has 1,000 free shots monthly; paid tiers are $5 for 3,000, $15 for 15,000, $39 for 60,000, $99 for 250,000 and $249 for 1,000,000. Yearly billing gives two months free.

10. FAQ

What is the shortcut for a scrolling screenshot?

Firefox and Edge use Ctrl + Shift + S on Windows/Linux, followed by a full-page choice. Chrome uses Ctrl + Shift + P to open DevTools commands, where you select a screenshot command.

Can I take a full-page screenshot in Chrome without extensions?

Yes. Open the DevTools Command Menu, search for screenshot, and select the full-page or full-size command. The exact label can change between Chrome versions.

Why is my full-page screenshot longer than expected?

Browser zoom, responsive layout, expanded accordions, comments, infinite scroll and lazy-loaded content can all increase page height.

Does iPhone Full Page save a PNG?

Apple’s Safari Full Page workflow provides a document-style capture and commonly saves it as a PDF. Use a desktop browser or screenshot API when you specifically need a bitmap image.

Is there one shortcut that works everywhere?

No. The shortcut and output depend on the browser, operating system, device and version.