ScreenshotNeo

BlogHow-to

How to Take a Full-Page Screenshot of a Webpage with a Dark Theme

Capture an entire webpage while preserving its dark appearance. Use Firefox’s screenshot tools, troubleshoot common issues, or capture with an API.

By the ScreenshotNeo team4 October 20266 min read

To capture a full-page screenshot of a webpage with a dark theme, first make sure the webpage itself is displaying its dark theme. In Firefox, right-click an empty area of the page, choose Take Screenshot, then choose Save full page. The shortcut is Ctrl+Shift+S on Windows and Linux, or Command+Shift+S on macOS. Save or copy the result, then inspect it from top to bottom. Mozilla’s Firefox screenshot instructions describe both visible and full-page captures.

A dark browser toolbar or dark Developer Tools theme does not make the webpage dark. The site’s own theme setting or dark-mode control must be active when the capture is made.

1. Prepare the page for capture

  1. Open the page and switch on its dark theme using the site’s theme control or setting.
  2. Check the page content itself, such as a heading and body text, to confirm it is dark. Browser chrome and Developer Tools can have separate themes.
  3. Wait for the page to finish loading. If it loads content as you scroll, inspect the output carefully for missing or repeated sections.
  4. Close or move anything that could obscure the page if you do not want it in the image. Review the saved screenshot for sensitive information before sharing.

2. Capture the full page in Firefox

  1. Right-click an empty part of the webpage. On macOS, Control-click is the documented equivalent.
  2. Select Take Screenshot. If the context menu is unavailable, use Ctrl+Shift+S on Windows/Linux or Command+Shift+S on macOS.
  3. In the screenshot interface, choose Save full page. Save visible captures only the part currently on screen.
  4. Choose Download to save the image in Firefox’s default download folder, or Copy to put it on the clipboard.
  5. Open the result and check that it runs from the top to the bottom of the page and retains the dark appearance.

Firefox offers a built-in screenshot interface for saving or copying visible or full webpages. See Mozilla Support’s instructions for the interface details.

3. Use Firefox Developer Tools for more control

Developer Tools are useful when you need a delay, a particular filename, clipboard output, or a device-pixel-ratio setting.

Enable the screenshot button

  1. Open Developer Tools settings.
  2. Under Available Toolbox Buttons, enable Take a screenshot of the entire page.
  3. Click the screenshot button in the toolbox toolbar. Firefox saves the image in Downloads.

Capture from the Web Console

Open the Web Console and run:

:screenshot --fullpage

This saves the entire webpage, including content outside the current window. The command also supports optional delay, device-pixel-ratio, clipboard, and filename parameters. For a custom PNG filename, include the .png extension, for example:

:screenshot --fullpage --filename full-page-dark.png

Consult the Firefox Developer Tools screenshot reference for the supported parameters and their current syntax.

4. Choose the right capture method

Method Best for Output handling
Firefox screenshot interface A quick full-page capture Download or copy
Firefox Developer Tools button A full-page capture from the toolbox Saves to Downloads
Firefox Web Console command Captures needing options such as delay, filename, clipboard, or device-pixel ratio Controlled by command options

These are functional differences; the cited documentation does not establish a speed comparison. The Firefox methods preserve the page’s rendered appearance at capture time. They do not turn a light-rendered site dark automatically.

5. Check the result and troubleshoot

  • The screenshot looks light: Enable the webpage’s own dark theme and check its content before capturing. A dark browser frame or DevTools theme is separate.
  • Only the visible area was captured: Choose Save full page, not Save visible.
  • The page is missing content that appears after scrolling: Wait for loading to finish, then inspect the full capture for gaps or repeated content. Page-specific loading behavior can vary.
  • You need a custom filename or delay: Use Firefox’s Web Console :screenshot command and its documented options.
  • The context menu does not show Take Screenshot: Use the keyboard shortcut, or open Developer Tools and enable its screenshot button.
  • The image includes private information: Review it before sharing; crop or redact sensitive areas yourself.

6. Chrome and other options

Chrome’s Device Mode documentation covers simulating mobile devices and viewports and cautions that the simulation is only a first-order approximation of a mobile experience. It does not document a complete full-page screenshot procedure, so use the browser’s current documentation for Chrome-specific capture steps rather than assuming Firefox’s steps apply. See Chrome for Developers’ Device Mode guide.

A browser extension such as GoFullPage advertises full-page capture. An extension is optional software; review its permissions and privacy practices for your needs. The available information here does not assess its capture quality or privacy behavior.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request can return a screenshot or PDF. Set the target URL to the dark-themed page you want to capture; the browser must render the page in dark mode for the screenshot to show it.

For example, save a full-page WebP screenshot with cURL:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Replace the example URL with the page you want to capture and set your API key. See the ScreenshotNeo API documentation for request options.

Equivalent 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)

Equivalent 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}`);
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer())));

ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before capture. Bot checks, blank pages, and failed loads are never billed; responses include page-verdict and billing headers. Its MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots. Sign up for 1,000 free screenshots a month, with no card.

7. Performance, reliability, and cost

For a one-off capture, Firefox’s built-in interface avoids API setup and has no per-request service charge. Developer Tools adds options when you need them, though it requires opening the toolbox or console. In either method, allow time for page content to finish loading and verify the output; the sources do not publish capture-time guarantees.

For repeated captures or automation, an API can avoid configuring a browser for each workflow. ScreenshotNeo bills only clean shots; bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing. Responses indicate the page verdict and billing status in headers. It offers caching with a chosen TTL, async jobs with signed webhooks, and bulk capture of up to 100 URLs per call. Its plans are Free (1,000/month), Starter ($5 for 3,000), Growth ($15 for 15,000), Pro ($39 for 60,000), Scale ($99 for 250,000), and Business ($249 for 1,000,000); yearly billing gives two months free. Every feature is available on every plan. These are published plan details, not a performance benchmark.

FAQ

Does dark browser mode force every website into a dark theme?

No. The webpage needs to render its own dark appearance at capture time. Browser interface and DevTools themes are separate.

Can I copy the full-page screenshot instead of downloading it?

Firefox’s screenshot interface offers Copy as well as Download. The Web Console screenshot command also supports a clipboard option; check the Firefox reference for its exact syntax.

Will a screenshot include content that loads only when I scroll?

It may depend on the page’s loading behavior. Wait for loading to finish and inspect the result for missing or repeated sections.

Do I need to buy a physical product or install an extension?

No. Firefox’s built-in screenshot UI and Developer Tools provide documented capture methods. Extensions are optional software.