ScreenshotNeo

BlogScreenshots on your device

How to Capture Website Screenshots in Safari with a Plugin

Capture visible, selected, or full Safari pages with an extension, export PNG, JPEG, or PDF, and troubleshoot permissions, long pages, and memory limits.

By the ScreenshotNeo team1 October 20267 min read

Yes. Install a Safari screenshot extension, enable it in Safari’s Extensions settings, grant access to the site, then choose visible-area, selected-area, or full-page capture. The extension can export the result as PNG, JPEG, or PDF when supported. Safari extensions are distributed through Apple’s App Store and can read or modify webpage content only after you grant the requested access.

Quick method

  1. Open the App Store and install a Safari screenshot extension.
  2. In Safari, open Safari > Settings > Extensions (or Safari > Preferences > Extensions on older macOS versions).
  3. Turn on the extension.
  4. Open the page you want to capture.
  5. If Safari asks, allow the extension to access the current website.
  6. Click the extension button in Safari’s toolbar.
  7. Select Visible area, Selected area, or Full page.
  8. Choose the available output format and save the file.

Apple describes Safari extensions as tools that “Enhance and customize the web-browsing experience on iPhone, iPad, and Mac.” See Apple’s Safari Extensions documentation for the extension model and permissions.

Choose the right capture mode

Mode Use it when Typical limitation
Visible area You need exactly what is on screen. Content below the fold is not included.
Selected area You need one component, paragraph, chart, or image. You must draw or select the region accurately.
Full page / long page You need the complete document in one image or PDF. Very long or dynamic pages can hit height or memory limits.

What to check before a full-page capture

  • Load the page completely. Scroll through it once if images or sections load lazily.
  • Close obstructing UI. Cookie banners, newsletter dialogs, chat bubbles, and sticky headers can appear in the output.
  • Set the viewport first. Resize Safari to the width you want represented in the image.
  • Sign in when required. The extension captures the page as your current Safari session sees it.
  • Expect dynamic differences. Ads, timestamps, animations, and personalized content may change between captures.

Safari extensions and how screenshot plugins work

A Safari WebExtension is packaged with a manifest, content scripts, background scripts, popup files, images, and localization resources. A screenshot plugin uses those pieces to run code in the page, request the required permission, and either assemble a long image or call Safari’s page-snapshot APIs. Apple’s WebKit APIs include takeSnapshot; Safari extension documentation also describes a visible-area screenshot result containing the page’s visible contents.

Because extensions can inspect or modify page content, Safari separates installation from site access. An extension may be enabled globally but still be unable to operate on a particular domain until you grant access.

Safari screenshot plugin options

FullPage Screenshot for Safari

The App Store listing advertises full-page and visible-area capture, image editing, PNG export, PDF export, and Mac, iPhone, and iPad support. It is listed at $2.99 and states that it collects no data. It fits readers who want whole-page capture plus basic markup.

Page Screenshot for Safari

This extension advertises full-website, visible-area, selected-area, and long-page screenshots, with JPEG export and a configurable maximum height. It supports macOS, iOS, and iPadOS and fits workflows that need JPEG files or a controlled page height.

Screenshot | Web

This extension saves long pages as one image and advertises full-page capture, a maximum length of up to 40,000 pixels, quality choices, speed presets, optional header inclusion, and local on-device processing. Its listing warns that very long, high-quality captures can fail because of Safari memory limits. App Store compatibility, prices, and features can change with app and operating-system updates.

Compare plugins before installing

Question Why it matters
Can it capture the full page? Some tools capture only the viewport or impose a maximum height.
Which formats are supported? PNG preserves sharp UI details, JPEG is smaller, and PDF is useful for sharing or printing.
Can you edit the result? Crop, shapes, text, highlights, and annotations reduce the need for another app.
Which Apple platforms are supported? Check macOS, iOS, and iPadOS separately; support can differ by listing.
Where is processing performed? Local processing can matter for private pages and offline workflows.
What limits apply? Maximum height, page complexity, image quality, and Safari memory determine reliability.

Exporting PNG, JPEG, or PDF

PNG

Use PNG for text-heavy pages, diagrams, and interfaces where lossless edges matter. Files can become large for long pages.

JPEG

Use JPEG when a smaller file is more important than pixel-perfect text edges. Check the quality setting before exporting.

PDF

Use PDF for document review, printing, and sharing. A PDF export may paginate the page differently from a single tall image, so inspect page breaks and margins.

Troubleshooting

The extension button is missing

Cause: The extension is installed but disabled or hidden from the toolbar.

Fix: Open Safari’s Extensions settings, enable it, then customize the toolbar and add the extension button.

The plugin works on one site but not another

Cause: Safari has not granted the extension access to that domain, or the extension’s allowed-domain pattern excludes it.

Fix: Open the extension’s permissions, choose the current website, and allow access. Reload the page afterward.

The extension stays inactive after enabling it

Cause: Safari has not reloaded the extension after its permissions changed.

Fix: Fully quit and reopen Safari, then revisit the page and try again.

The full-page image stops partway down

Cause: The page exceeds the extension’s configured height, contains complex dynamic content, or runs into Safari memory limits.

Fix: Lower image quality, reduce the maximum height, wait for lazy content to load, or capture the page in several visible sections and combine them.

Images or sections are missing

Cause: Lazy loading, blocked resources, or an animation had not completed when the capture ran.

Fix: Scroll through the page first, wait for images to appear, disable animation when the site offers that option, and capture again.

Cause: The plugin captures Safari’s rendered page without automatically dismissing every overlay.

Fix: Accept or close the banner before capturing, hide the widget if the extension supports element selection, or crop the result.

The capture is blank or shows an error page

Cause: The site may require authentication, block scripted access, or have failed to load.

Fix: Confirm the page works normally in Safari, sign in, reload, and retry. For protected or unstable pages, use a capture service that reports failed loads separately.

Performance and reliability tips

  • Capture at the final browser width; changing width afterward can reflow text.
  • Use visible-area captures for quick checks and full-page mode only when one continuous artifact is needed.
  • Break extremely long pages into sections to reduce memory pressure.
  • Wait for fonts, images, and client-rendered components before starting the capture.
  • Repeat a capture when the page contains ads, rotating content, or animations.
  • Keep the extension and Safari updated, but recheck permissions after updates.

Or skip the browser setup

ScreenshotNeo provides a website screenshot API and MCP server. One GET request returns a PNG, JPEG, WebP, or PDF. It accepts cookie and consent banners like a visitor, then removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the page verdict and billing status with X-Page-Verdict and X-Billed headers.

See the ScreenshotNeo API documentation for all options, including full-page capture, CSS selectors, device presets, retina scale, custom CSS and JavaScript, waits, blocked resources, headers, cookies, user agents, authorization, timezone, geolocation, transparent backgrounds, resizing, caching, signed links, asynchronous jobs, webhooks, bulk capture, and usage reporting.

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

ScreenshotNeo includes 1,000 screenshots each month on the free plan with no card. Paid plans start at $5 for 3,000 shots; every feature is available on every plan. Its MCP server lets Claude, Cursor, and other MCP clients call take_screenshot, get_page_info, and capture_pdf. Create a free ScreenshotNeo account.

FAQ

Can Safari capture a full webpage without an extension?

Safari’s built-in tools are useful for ordinary screenshots and printing, but a dedicated extension is the practical route for one tall image with scrolling content.

Why does a full-page screenshot look different from the browser window?

Full-page tools render or stitch content beyond the current viewport. Responsive layouts, lazy loading, sticky elements, and animations can therefore change the result.

Is a Safari screenshot extension available on iPhone?

Some App Store extensions support iPhone and iPad as well as Mac. Check the current listing and required Safari permissions for your device.

What should I use for automated screenshots?

Use an API such as ScreenshotNeo when captures must run from scripts, jobs, or AI agents instead of a person clicking Safari.