BlogScreenshots on your device
How to Capture a Full-Page Screenshot with Firefox Built-In Tools
Capture an entire webpage in Firefox with its built-in Screenshots tool, or use Developer Tools for more control over timing, file names, and element captures.
To capture an entire webpage in Firefox, open the page, press Ctrl+Shift+S on Windows or Linux, or Command+Shift+S on macOS. Choose Save full page in the upper-right of the capture interface, then choose Download. The image is saved as a PNG in Firefox’s default download folder. Save visible captures only the current viewport, so it will not include the content below the fold.
Firefox has this feature built in; you do not need an extension. Mozilla documents the Screenshots interface and keyboard shortcuts.
1. Capture the full page with Firefox Screenshots
- Open the webpage you want to save and wait for the content you need to appear.
- Launch Screenshots in either of these ways:
- Press Ctrl+Shift+S on Windows or Linux, or Command+Shift+S on macOS.
- Right-click an empty area of the page and select Take Screenshot. On macOS, Control-click is the equivalent context-menu gesture.
- Select Save full page in the upper-right corner of the capture interface. This captures the whole page, including content outside the visible browser window.
- Select Download to save the PNG, or select Copy to put it on the clipboard.
Use Save visible when you want only what is currently on screen. The capture interface also lets you select a region or click a page part that Firefox highlights automatically.
Download, copy, or cancel
| Action | Result | Shortcut |
|---|---|---|
| Download | Saves a PNG to Firefox’s configured default download folder. | Ctrl+S on Windows/Linux; Command+S on macOS |
| Copy | Copies the image to the clipboard so you can paste it into another application. | Ctrl+C on Windows/Linux; Command+C on macOS |
| Cancel | Closes the capture without keeping the result. | Esc |
To add a persistent Screenshot button, open the Firefox menu, choose More Tools → Customize Toolbar…, drag Screenshot onto the toolbar, and select Done. This is optional; the shortcut and context menu work without it.
2. Use the Developer Tools screenshot button
Firefox Developer Tools provide another built-in way to save a full-page screenshot. The screenshot toolbox button is disabled by default, so enable it first:
- Open Developer Tools for the page. You can use F12 or Ctrl+Shift+I on Windows/Linux, or Command+Option+I on macOS.
- Open the toolbox settings.
- Under Available Toolbox Buttons, enable Take a screenshot of the entire page.
- Select the screenshot icon that appears in the toolbox. Firefox saves the result in the Downloads directory.
This route is useful if you already work in the toolbox or want a dedicated DevTools control. For an occasional capture, the Screenshots shortcut is quicker. See Mozilla’s Firefox Developer Tools screenshot documentation.
3. Use the Web Console for capture options
For command-style control, Firefox’s Web Console provides the :screenshot helper. Open the console in Developer Tools and run:
:screenshot --fullpage
The --fullpage option includes content outside the current window bounds. The helper also accepts options for waiting, output, and targeting. For example:
:screenshot --fullpage --delay 2 --filename page.png
This requests a full-page capture after a two-second delay and names the output page.png. Use a delay when a page needs a little time to settle or reveal content before capture; it is not a guarantee that every dynamic page will finish loading.
| Option | Purpose |
|---|---|
--fullpage |
Capture beyond the current window bounds. |
--delay |
Wait before capturing. |
--dpr |
Set the device pixel ratio for the capture. |
--filename |
Choose an output file name. |
--selector |
Target an element and its descendants by selector. |
--clipboard |
Copy the screenshot to the clipboard. |
--file |
Force file output. |
These are options of Firefox’s console helper, not options in the standard Screenshots interface. Consult the current Mozilla documentation for the exact syntax supported by your Firefox version.
Capture one element instead of the whole page
If you need a component rather than the entire document, use the Inspector: right-click the element and choose Screenshot Node. This captures the selected node and its descendants. The Web Console’s --selector option is another element-targeting route.
4. Choose the right built-in route
| Route | Setup | Best for | Control |
|---|---|---|---|
| Firefox Screenshots | None | One-off full-page or visible captures | Full page, visible area, region, highlighted page part; download or clipboard |
| DevTools screenshot button | Enable the button in toolbox settings | Captures while working in Developer Tools | Full-page capture button |
Web Console :screenshot |
Open the Web Console | Delay, pixel ratio, file name, selector, or clipboard options | Command options |
| Inspector Screenshot Node | Inspect the target element | One component and its descendants | Element capture rather than whole-page capture |
5. Edge cases and troubleshooting
Firefox only captured what I can see
Reopen the capture interface and select Save full page, not Save visible. The visible option deliberately limits the image to the current viewport.
The screenshot icon is missing from Developer Tools
The toolbox control is not enabled by default. Open toolbox settings and enable Take a screenshot of the entire page under Available Toolbox Buttons.
The page is still loading or has dynamic content
Wait for the content to appear before starting the capture. If using the Web Console, try --delay to add a wait. A delay cannot guarantee that content driven by scrolling, user interaction, or ongoing updates will appear; the official feature description does not promise identical results for every page implementation.
I need to capture just one card, chart, or section
Use the capture UI’s automatic page-part highlight or region selection for a quick crop. For an element and its descendants, use Screenshot Node in the Inspector, or use the console’s --selector option.
I cannot move the capture crosshair with the keyboard
Firefox documents arrow-key movement for the crosshair and selection, but notes that moving the crosshair does not work on Wayland. The Screenshots interface also supports Shift plus an arrow key to move by larger increments, Space to start or stop a selection, and Enter to select a highlighted part.
Where did the downloaded image go?
Firefox saves the image in its configured default download folder. Check Firefox’s download location setting if it is not in the folder you expected.
6. Performance, reliability, and privacy notes
A full-page image includes more content than a viewport capture, so very long pages can produce larger images and may take longer to capture or handle. If you only need a section, selecting a region or a node can keep the result focused. Firefox’s documentation describes the capture options but does not guarantee identical output for every page, especially pages whose content changes dynamically.
For repeatable results, let important content load before capture and save a fresh image if the page changes. If the built-in interface does not produce the result you need, the Developer Tools route offers a delay and element targeting, though it still captures the page as rendered by Firefox.
Mozilla says Firefox Screenshots collects interaction events, such as whether someone uses Copy or Save full page, and says it does not collect the page URL or details of the captured image. Read Mozilla’s privacy and data collection notes for context.
7. Or skip the browser setup
If you need screenshots from code, a website screenshot API can capture a URL without opening Firefox or configuring a local browser. ScreenshotNeo returns an image or PDF from one GET request. Its API documentation covers the available parameters.
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 image:
image.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 image = Buffer.from(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', image));
ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before the shot. Bot checks, blank pages, and failed loads are never billed. An MCP server lets AI agents use screenshot tools. The Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
8. Frequently asked questions
Does Firefox need an extension to capture an entire webpage?
No. Firefox’s built-in Screenshots interface includes a full-page option.
Can I paste the screenshot instead of downloading it?
Yes. Choose Copy in the capture interface, or use its copy shortcut after selecting what to capture.
Can I capture a full page from a command line?
The :screenshot helper runs in Firefox’s Web Console, not a system terminal. For automated requests outside the browser, use a screenshot API such as ScreenshotNeo.
Can the screenshot include content that appears only after scrolling?
Results depend on how the page loads that content. Let it load before capturing; if needed, try the console delay option. Firefox’s documentation does not guarantee behavior for every lazy-loaded or interactive page.


