· Updated · Tutorials · By Simon Chiu

Full Page Screenshot in Firefox: Menu, Console and CLI

Take a full page screenshot in Firefox with the built-in screenshot tool, the :screenshot command or the command line. Height limits measured, plus fixes.

Line illustration of the RenderScreenshot mascot pulling a long page out of a browser window

Firefox has a full page screenshot tool built in, no extension needed:

  1. Right-click an empty part of the page and choose Take Screenshot, or press Ctrl+Shift+S (Cmd+Shift+S on macOS).
  2. Choose Save full page in the bar at the top right.
  3. Click Download, or Copy to put the image on the clipboard.

Firefox saves a PNG of the whole scrollable page. This guide adds two more ways to do it, the DevTools :screenshot command and the headless command line, and the limits we measured on very long pages. It is part of our full page screenshot guide, which compares Firefox with Chrome, Safari and the automation libraries.

Tested on 2026-10-15 on macOS 27.0.1 with Firefox 158.0 (command line and Selenium 4.51.0 with geckodriver 0.37.1) and Firefox 157.0 in Playwright 1.64.1. We measured the engine through automation and the command line. We did not click through the screenshot menu or run :screenshot by hand for this test, so treat the menu steps as instructions, not measurements.

Firefox is the best browser for very long pages

We built test pages of 1,000 px colored bands, from 8,000 to 150,000 px tall, and checked every band in the output:

How Firefox was driven Largest correct capture Above it
Command line --screenshot 40,000 px (largest we tried) not tested
Selenium + geckodriver, get_full_page_screenshot_as_png 65,000 px Error: exceeds the maximum allowed screenshot height of 65535 pixels
Playwright Firefox 157, fullPage 32,000 px Error: Cannot take screenshot larger than 32767
Chrome 155 for comparison (DevTools, Puppeteer default) 16,384 px No error; the content repeats from the top

Firefox fails loudly when a page is too tall. Chrome returns an image of the right size with the wrong content. For a manual capture of a long article or a long documentation page, Firefox is the safer choice. At 2x pixel density the same limits count device pixels, so the usable page length halves.

The :screenshot command

Firefox DevTools has a screenshot command in the Web Console. Open it with Ctrl+Shift+K (Cmd+Option+K on macOS) and type:

:screenshot --fullpage

Options that help with full pages:

Option What it does
--fullpage Captures the whole page, not only the viewport
--dpr 2 Sets the device pixel ratio, for sharper text
--delay 3 Waits that many seconds first, for example while menus close
--selector "main" Captures one element instead of the page
--file Also saves a file when --clipboard is set
--clipboard Copies the image instead of saving it
--filename long.png Sets the file name

--selector is often better than --fullpage on long pages: an article body without the site footer and comments is shorter, so it stays under the height limit.

From the command line

Firefox can take a screenshot without opening a window. Give only a width, and it measures the page:

firefox --headless --screenshot page.png --window-size=1280 https://example.com

On macOS, the binary is /Applications/Firefox.app/Contents/MacOS/firefox. On our 40,000 px page this produced a correct 1280 x 40,000 PNG. If you give a height as well (--window-size=1280,900), you get only that window. Close any running Firefox that uses the same profile first, or pass -profile with a separate directory; otherwise the command can open a tab in the running instance instead.

What Firefox does not fix

Firefox's full-page capture has the same two weak spots as every other browser, because it does not scroll the page.

Three Firefox captures. On the sticky test page the black cookie bar crosses the page where the first screen ends. On the lazy test page without scrolling all twelve image slots are grey. After scrolling through the page first, all twelve are green.
Firefox 157 (Playwright fullPage): fixed header and cookie bar test page, lazy page without scrolling, and lazy page after scrolling and waiting. 2026-10-15, scaled down.

Lazy images. Images that load on scroll stay empty. In our test 0% of native and observer-based lazy images loaded without a scroll, and 100% after a scroll with a wait. By hand: scroll slowly to the bottom with the End key or the mouse, wait until the images appear, scroll back to the top with Home, then take the screenshot. The lazy image guide explains why a quick jump to the bottom does not work.

Fixed bars. A fixed header appears once at the top, which is fine. A cookie bar or chat button fixed to the bottom of the window is drawn where the first screen ended, across the content. Close the banner before the capture, or remove it: in the Inspector, right-click the element and choose Delete Node. The sticky header guide has a script that does this for every fixed element.

Firefox in automation

If you capture the same pages often, use a script:

  • Selenium has get_full_page_screenshot_as_file() only on the Firefox driver. It was the fastest method in our Selenium tests (160 ms on a 20,000 px page). See the Selenium full page guide.
  • Playwright runs a patched Firefox build with firefox.launch(). page.screenshot({ fullPage: true }) works up to 32,767 px; the Playwright full page guide has a script that splits taller pages into clips.

For captures on a server, at scale, or from an app, a screenshot API avoids running browsers. RenderScreenshot renders with Chromium and scrolls for lazy content when you use the full_page preset; its capture.scroll.max_height cap is 16,000 px by default. See the full-page API guide, or create a free account to try it.

Troubleshooting

Symptom Cause Fix
Take Screenshot is not in the context menu The page replaces the browser's context menu Use Ctrl+Shift+S, or :screenshot --fullpage
Grey boxes instead of images Lazy loading Scroll to the bottom, wait, return to the top
Cookie bar across the middle of the image Fixed bar drawn at the end of the first screen Close or delete it before the capture
Error about 32,767 or 65,535 px Firefox height limit Capture one element with --selector, or zoom out
Command line opens a tab in your Firefox Same profile already running Close Firefox or pass -profile with another directory
Text is soft on a high-density screen Saved at 1x :screenshot --fullpage --dpr 2

Related in this topic