BlogScreenshots on your device
How to Take a Full-Screen Screenshot of a Website
Capture an entire webpage in Firefox, Chrome, or iPhone Safari, troubleshoot common failures, and automate clean full-page shots with ScreenshotNeo.
Short answer: use your browser’s full-page capture command, not the ordinary screen shortcut. Firefox desktop has Save full page; Chrome desktop exposes Capture full size screenshot in DevTools; Safari on iPhone offers Full Page after you take a screenshot. These produce one tall image below the viewport. Choose PDF when you need paginated, printable pages.
1. Choose the right capture
| Need | Workflow | Output |
|---|---|---|
| One tall webpage image | Firefox Save full page or Chrome Capture full size screenshot | PNG/JPEG |
| iPhone webpage snapshot | Safari screenshot, then Full Page | Image or PDF |
| Printing or reports | Safari Save PDF to Files or a PDF capture service | Paginated PDF |
A full-page capture is longer than the visible screen. A normal screenshot shortcut captures only the current viewport.
2. Firefox desktop: Save full page
- Open the webpage in Firefox.
- Right-click and choose Take Screenshot.
- Select Save full page.
- Save or copy the result.
Mozilla documents this screenshot feature and equivalent Developer Tools controls. If Take Screenshot is missing, open Developer Tools and use its screenshot controls. Menu labels can vary by Firefox version.
3. Chrome desktop: Capture full size screenshot
- Open the page and DevTools with Inspect.
- Open the command menu with Ctrl+Shift+P on Windows/Linux or Command+Shift+P on macOS.
- Search for screenshot.
- Choose Capture full size screenshot.
This is the documented Chrome Help Community workflow. Chrome versions can move or rename DevTools commands, so search for “full size screenshot” if the label differs.
4. Safari on iPhone: Full Page
- Open the page in Safari and take a screenshot. On Face ID iPhones, press and quickly release the side button and volume-up buttons together. On Home-button iPhones, press and quickly release the side and Home buttons.
- Tap the screenshot preview.
- Tap Full Page.
- Save as an image, or choose Save PDF to Files when shown.
Apple’s guide uses an entire Safari webpage as the full-page example. Controls depend on iOS version and context.
5. Make a full-page capture reliable
- Wait for the page to finish loading.
- For lazy-loaded pages, scroll through the page once so below-the-fold images render.
- Close cookie dialogs, chat bubbles, menus, and notification prompts you do not want.
- Inspect the result at 100% zoom. Very long pages create very tall files; use PDF when readers need pages.
- Keep the URL and capture date with evidence or documentation.
6. Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Only the visible area appears | Ordinary screenshot shortcut used | Use Save full page, Capture full size screenshot, or Full Page. |
| Firefox lacks Take Screenshot | Unavailable context-menu entry | Open Developer Tools and use screenshot controls. |
| Chrome command is missing | DevTools closed or menu changed | Open DevTools and search “screenshot” or “full size screenshot.” |
| Images are blank | Lazy loading or slow requests | Wait, scroll through the page, then capture again. |
| Cookie banners or chat cover content | Overlays rendered above the page | Dismiss them or use ScreenshotNeo cleanup. |
| Image is too tall to share | Full-page images have no page breaks | Save a PDF for printing or paginated reading. |
| Safari lacks Full Page | Page, context, or iOS version does not expose it | Try Safari’s webpage view and use Save PDF to Files when offered. |
7. Programmatic full-page screenshots with ScreenshotNeo
For repeatable captures, CI jobs, many URLs, or pages needing cleanup, ScreenshotNeo provides a GET endpoint returning PNG, JPEG, WebP, or PDF. See the ScreenshotNeo API documentation.
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}`);
Replace the URL and save the response with your normal file handling. Keep the access key server-side.
Capture options
| Area | Options |
|---|---|
| Page and viewport | Full-page capture with lazy images loaded; any viewport; 12 device presets; retina scale; dark mode; transparent background. |
| Targeting | Capture an element by CSS selector; hide selectors; click an element before capture. |
| Timing | Wait for a selector, fixed delay, or network idle. |
| Rendering | Custom CSS and JavaScript; HTML/CSS to image; image resizing. |
| Network and identity | Block ads, trackers, requests, or resource types; custom headers, cookies, user agent, Authorization, timezone, and geolocation. |
| Paper size, margins, landscape orientation, and page ranges. | |
| Delivery and scale | Cache TTL; signed links for public <img> tags; async jobs with signed webhooks; bulk capture of 100 URLs per call; usage API; OpenAPI specification. |
8. Or skip the browser setup
ScreenshotNeo accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and responses report X-Page-Verdict and X-Billed. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf to Claude, Cursor, and other MCP clients.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; every feature is on every plan. Create a free ScreenshotNeo account.
9. Performance, reliability, and cost notes
- Browser capture: speed depends on page size, network activity, lazy assets, and your computer.
- Repeatability: use the same browser, viewport, zoom, and page state for comparable captures.
- Dynamic pages: choose a selector, delay, or network-idle wait instead of capturing immediately.
- Billing: only clean ScreenshotNeo shots are billed. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed.
- Caching: choose a TTL when repeated captures can reuse an unchanged result.
- Volume: use async jobs, signed webhooks, or up to 100 URLs in one bulk call. Check usage through the usage API.
10. FAQ
Is a full-page screenshot the same as a scrolling screenshot?
They describe the same outcome: one capture extends below the visible viewport. Browser tools handle the scrolling and stitching.
Should I save an image or PDF?
Use an image for a visual reference. Use PDF when readers need pages, printing, margins, orientation, or page ranges.
Why is my image enormous?
The image contains the complete document at the capture scale. Reduce image size or choose PDF for paginated output.
Can AI agents take these captures?
Yes. ScreenshotNeo’s MCP server provides screenshot, page-info, and PDF tools for MCP clients such as Claude and Cursor.


