How to Capture a Full-Page Screenshot with a Firefox Plugin
Capture an entire webpage in Firefox using its built-in Screenshot tool, with troubleshooting, shortcuts, privacy notes, and an API alternative.
Firefox can capture a full webpage without a plugin. Open the page, choose Take Screenshot, select Save full page, then download the image or copy it to your clipboard. Firefox also supports a keyboard shortcut and an optional toolbar button.
This guide covers the built-in workflow first, then explains when an add-on or an API is more useful for repeatable captures.
Use Firefox’s built-in full-page screenshot tool
- Open the webpage in Firefox.
- Right-click an empty area of the page and select Take Screenshot.
- In the screenshot interface, select Save full page in the upper-right corner.
- Choose Download to save the image in Firefox’s default download folder, or choose Copy to place it on the clipboard.
Firefox captures content below the visible viewport when you choose Save full page. Use Save visible when you only want the portion currently on screen. The interface also offers a selected region and a page-element capture.
Mozilla’s current instructions are in Take screenshots in Firefox.
Keyboard shortcut
| Platform | Shortcut |
|---|---|
| Windows or Linux | Ctrl + Shift + S |
| macOS | Command + Shift + S |
After the shortcut opens the screenshot interface, choose Save full page, then download or copy the result.
Add a Screenshot button to the Firefox toolbar
- Open the Firefox menu.
- Choose More Tools.
- Select Customize Toolbar.
- Find the Screenshot button and drag it onto the toolbar.
- Click the new button whenever you need to start a capture.
Choose the right capture mode
| Mode | What it captures | Use it for |
|---|---|---|
| Save full page | The complete scrollable document | Documentation, landing pages, audits, and archival images |
| Save visible | Only the current viewport | A quick view of what is currently on screen |
| Selected region | A rectangle you draw | A specific section that is not a complete element |
| Page element | A detected element on the page | A card, image, table, or other distinct element |
Practical checklist before capturing
- Wait for the page’s main content to finish loading.
- Dismiss overlays that you do not want in the image.
- Scroll through interactive pages if content appears only after interaction.
- Check that lazy-loaded images have appeared before capturing.
- Close sensitive tabs or windows before sharing the downloaded file.
- Use a descriptive filename after downloading; Firefox saves the image to its default download folder.
Limitations and edge cases
Lazy-loaded content
Some sites load images or sections only after they enter the viewport. If a section is missing, scroll through the page first, wait for the content to load, and capture again.
Sticky headers and fixed elements
A fixed navigation bar, chat control, or cookie prompt can appear repeatedly or cover content. Close the control before starting the capture when possible.
Very long pages
A full-page image can be unusually tall and difficult to open or share. For a long document, consider capturing separate sections or exporting the page through a workflow designed for automated screenshots.
Wayland
Mozilla notes that moving the screenshot crosshair does not work on Wayland. Use the keyboard controls instead: arrow keys move the selection, while modifier keys allow larger movements and movement to viewport edges.
Pages that require login
Firefox captures the page in your current browser session, so it can include content available to your account. Treat the resulting file as sensitive if the page contains private data.
Privacy and accessibility notes
Mozilla says Firefox Screenshots collects interaction events such as using Copy or Save full page, but does not collect the page URL or details of the captured image. See Mozilla’s current help article for the available privacy and opt-out instructions.
The screenshot interface can be operated with the keyboard. This is especially useful on Wayland, where pointer crosshair movement has a documented limitation.
Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| “Take Screenshot” is missing from the context menu | The click was on a control or the menu is different in the current Firefox release | Use the platform shortcut or add the Screenshot button through Menu → More Tools → Customize Toolbar. |
| The result contains only the visible viewport | Save visible was selected | Start the tool again and select Save full page. |
| Images or sections are blank | Lazy loading or delayed scripts have not finished | Scroll through the page, wait for content to appear, then capture again. |
| A cookie banner or chat bubble is in the image | The overlay was still open | Dismiss it before capture. If it cannot be dismissed, crop the result or use an automated capture tool that can hide selectors. |
| The pointer selection will not move on Wayland | Firefox documents a crosshair limitation on Wayland | Move the selection with arrow keys and modifier keys. |
| The file is hard to share or open | The page is extremely tall or image-heavy | Capture smaller sections, reduce page content, or use a service that supports resizing or PDF output. |
When a Firefox plugin or automated service makes sense
The built-in tool is sufficient for occasional manual captures. Consider an add-on or an API when you need repeatable captures, scheduled jobs, CSS or JavaScript changes, custom headers and cookies, a fixed device viewport, element-only images, webhooks, or many URLs at once. Review an extension’s permissions and maintenance before installing it; this research does not establish a particular add-on as the best current choice.
Or skip the browser setup
ScreenshotNeo provides a website screenshot API and MCP server. A single GET request returns PNG, JPEG, WebP, or PDF output. Before capture it accepts the cookie or consent banner like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response reports the result with X-Page-Verdict and X-Billed headers.
See the ScreenshotNeo API documentation for all 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,
)
r.raise_for_status()
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}`);
if (!res.ok) throw new Error(`Screenshot failed: ${res.status}`);
const body = Buffer.from(await res.arrayBuffer());
require('node:fs').writeFileSync('shot.webp', body);
Options useful for full-page captures
- Full-page capture with lazy images loaded.
- One element by CSS selector.
- Dark mode, 12 device presets, custom viewports, and retina scale.
- Custom CSS and JavaScript, clicks before capture, hidden selectors, and waits for a selector, delay, or network idle.
- Blocking for ads, trackers, requests, or resource types.
- Custom headers, cookies, user agents, Authorization, timezone, and geolocation.
- Transparent backgrounds and image resizing.
- Caching with a TTL you choose.
- PDF paper size, margins, landscape mode, and page ranges.
- Signed links for public
<img>tags, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API, and an OpenAPI specification.
Performance, reliability, and cost
Use caching when the same URL can be reused, choose a wait condition that matches the page, and use bulk capture for batches. For public pages, signed links avoid exposing your access key in an image URL. Inspect X-Page-Verdict and X-Billed so your application can distinguish a clean shot from a failed or non-billable result.
The Free plan includes 1,000 shots per month with no card. Paid plans start at $5 for 3,000 shots; Growth is $15 for 15,000, Pro is $39 for 60,000, Scale is $99 for 250,000, and Business is $249 for 1,000,000. Yearly billing gives two months free, and every feature is available on every plan.
ScreenshotNeo also includes an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.
Create a free ScreenshotNeo account for 1,000 screenshots a month with no card.
FAQ
Do I need to install a Firefox plugin?
No. Firefox’s built-in Screenshot tool handles full-page captures.
What is the shortcut for a full-page screenshot?
Use Ctrl + Shift + S on Windows or Linux, or Command + Shift + S on macOS.
Can I copy a full-page screenshot instead of downloading it?
Yes. Choose Copy after selecting Save full page.
Can Firefox capture only one element?
Yes. The screenshot interface includes a page-element option as well as selected-region and visible-area captures.
Is ScreenshotNeo useful for one manual screenshot?
Firefox is usually quicker for a one-off manual capture. ScreenshotNeo is useful when you need automation, consistent settings, clean pages, or many URLs.


