BlogScreenshots on your device
How to Take a Screenshot of a Web Page with Browser Extensions on Mac
Capture an entire webpage on a Mac with Safari, Chrome, or Firefox, or use a browser extension for a toolbar shortcut. Includes lazy-loading and long-page tips.
A full-page screenshot captures the webpage beyond the browser window’s visible area. On a Mac, you can use a browser’s built-in capture tool or install an extension for a toolbar shortcut. In Safari, use Web Inspector; in Chrome, use DevTools; in Firefox, use the page context menu. With an extension, click its toolbar icon and choose its full-page capture command. If the page loads images as you scroll, scroll to the bottom before capturing.
This is different from a normal Mac screen capture, which captures the screen or a selected region rather than the entire webpage. The steps below cover the built-in options first, then extension workflows.
1. Choose a capture method
| Browser | Built-in full-page method | Extension workflow |
|---|---|---|
| Safari | Web Inspector: capture the document’s html node. |
Enable the extension in Safari settings, then choose its full-page capture command. |
| Chrome | DevTools: enable the device toolbar and choose Capture full size screenshot. | Click the extension toolbar icon and choose its full-page command. |
| Firefox | Right-click the page, choose Take a Screenshot, then Save full page. | Click the extension toolbar icon and choose its full-page command. |
Built-in tools avoid installing an add-on. An extension can make capture a toolbar action. Available output formats, permission prompts, and exact menu names vary by browser and extension.
2. Prepare the page before capture
- Open the exact page you want to save and wait for its main content to appear.
- If it has images or other content that loads as you scroll, scroll down through the page to the bottom, then return to the top. This gives lazy-loaded content a chance to load before capture.
- Close menus or overlays that you do not want in the image. If a consent banner is part of what you need to document, leave it visible.
- Decide whether you need an image or a document-style PDF, if your chosen tool offers that output.
Lazy loading is a common reason images below the fold are missing from a capture. Some sites also change their content as you scroll, so the captured page may not match a single static view exactly.
3. Use the built-in full-page capture in Safari
- Open Safari Settings. In some versions, this menu is called Preferences.
- Open Advanced and enable the option to show web developer features or the Develop menu. The wording can differ by version.
- Open the webpage, then choose Develop > Show Web Inspector.
- In the Elements tab, locate the first
htmlline. Right-click it and choose Capture Screenshot. - Save the generated image.
This workflow uses Safari’s Web Inspector. If you prefer a toolbar action, see the extension steps below. An Awesome Screenshot Safari installation may ask you to enable the extension in Safari settings and grant a recording permission; review the current prompt for that extension rather than assuming every add-on asks for the same permissions.
4. Use the built-in full-page capture in Chrome
- Open the page in Chrome and launch Developer Tools from More Tools > Developer Tools.
- In DevTools, enable the Toggle Device Toolbar control.
- Open the menu in the left-hand page panel and choose Capture full size screenshot.
- Open the downloaded image from your Downloads location.
The device toolbar is part of the documented capture route; you do not need to install an extension for this method. For a repeatable toolbar action, use an extension’s full-page capture command instead.
5. Use the built-in full-page capture in Firefox
- Right-click the webpage.
- Choose Take a Screenshot.
- Choose Save full page.
- Select Download to save an image, or Copy to put it on the clipboard. Mozilla documents Command+S for saving and Command+C for copying on macOS.
Firefox also offers DevTools routes: enable the “Take a screenshot of the entire page” toolbox button in DevTools Settings, then click it, or use the Web Console helper :screenshot --fullpage.
6. Capture a full page with a browser extension
- Install an extension from the browser’s extension store and review its current permissions and data practices.
- Open the page you want to capture. Scroll through it first if below-the-fold content loads on demand.
- Click the extension icon in the browser toolbar.
- Choose the extension’s full-page command and wait for the capture to finish.
- Save or export the result in the format the extension provides.
For Awesome Screenshot, its help article describes these commands: Capture, then Full Page in Chrome-compatible browsers, Capture Full Page in Safari, and Capture Entire Page in Firefox. The wording may change with browser or extension updates.
GoFullPage is another example. Its Firefox Add-ons listing describes scrolling through page sections, PNG, JPEG, and PDF export, and splitting a very large capture into separate images if one image exceeds browser storage limits. Treat these as claims in the extension listing, not a guarantee that every page or browser will behave identically.
7. Fix common capture problems
| What you see | Likely cause | What to try |
|---|---|---|
| Images or sections are missing below the fold | The page loads them only when they approach the viewport. | Scroll to the bottom, wait for content to load, return to the top, and capture again. |
| The extension icon is missing or inactive | The extension may not be enabled or allowed on the current page. | Check the browser’s extension settings and the extension’s site-access permissions. Try the built-in browser method if needed. |
| Safari asks for a permission | Some extensions require additional permissions for their capture workflow. | Read the current browser prompt and the extension’s listing. Permission requirements differ by extension. |
| A very long capture fails or is incomplete | The result may exceed the browser or extension’s storage limits. | Try a capture tool that can split large results, or capture smaller sections. GoFullPage’s listing describes splitting a very large result into multiple images. |
| The capture includes a menu, banner, or popup | The overlay was present when the page was captured. | Dismiss it before capturing if it is not part of the page state you need to preserve. |
| A page refuses to capture | Capture behavior and permissions vary by page, browser, and extension. | Try the browser’s built-in method or another documented route, such as Firefox’s screenshot tool or DevTools. |
8. Consider output, privacy, and reliability
- Image or PDF: Use an image for visual review, sharing, or editing. A PDF may suit document-style output when the tool supports it. Formats and layout can differ between tools.
- Very long pages: A single image can be unwieldy or run into storage limits. Consider section captures or a tool that offers splitting.
- Dynamic pages: Content that updates while scrolling may produce a capture containing different states. Wait for the page to settle and scroll through it before starting.
- Permissions and trust: Extension permissions differ. Check the current store listing and the extension’s data practices before installing. Use the browser’s built-in route if you do not want an add-on.
- Time and cost: Browser capture usually requires no paid screenshot service, but setup and long-page troubleshooting take time. Extension pricing and export limits vary; check the current listing for the extension you choose.
9. Or skip the browser setup
If you need screenshots in a script or workflow, ScreenshotNeo takes a screenshot with one GET request. See the API documentation for options and integration details.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
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)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
- Cookie banners, newsletter popups, and chat widgets are removed before the shot; each cleanup step can be turned off.
- Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing. Response headers report the page verdict and billing status.
- An MCP server lets AI agents use
take_screenshot,get_page_info, andcapture_pdf. - 1,000 screenshots a month are free with no card. Paid plans start at $5 for 3,000 screenshots; all features are on every plan.
Sign up for 1,000 free screenshots a month, with no card required.
10. Frequently asked questions
How do I take a scrolling screenshot on a Mac?
Use a full-page capture command in your browser or extension. A normal Mac screen capture only records the screen or a selected region.
Can I copy a full-page screenshot instead of downloading it?
Firefox’s built-in screenshot flow offers a Copy option as well as Download.
Do I need an extension to capture an entire webpage?
No. Safari, Chrome, and Firefox each have a built-in full-page route described above.
Why is my full-page screenshot missing images?
Many pages load images only as you scroll. Visit the bottom of the page first, wait for those images to appear, then capture.
Which capture method should I use?
Use a built-in method when you want to avoid installing an add-on. Use an extension when its toolbar workflow or output options fit your task.


