ScreenshotNeo

BlogGuides

WordPress Plugins for Website Screenshots

Compare WordPress screenshot plugins by what they capture, where images go, and which services they depend on. Choose the right workflow for posts, admin pages, or automation.

By the ScreenshotNeo team4 October 202610 min read

WordPress screenshot plugins solve different jobs. Some embed a screenshot of an external website in a post; others capture a WordPress admin screen and save the image to your Media Library. API-backed plugins can render full pages or PDFs, but send the target URL and capture settings to an external service. Decide first whether you need an external thumbnail, a local file, an admin capture, or automated rendering.

For API-based screenshot capture, ScreenshotNeo is the first service to consider: it removes known consent banners, popups, and chat widgets before capture, bills only clean shots, and has the lowest paid plan described here. The plugin choices below are grouped by workflow because they do not all capture the same thing.

1. Identify the screenshot you need

Your task Likely fit What to check
Show a thumbnail of any public URL in a post Browser Screenshots / Browser Shots, or an API-backed shortcode plugin Where the image is hosted, refresh/cache behavior, and whether you need a local file
Save a screenshot of a WordPress admin page for support Admin Screenshots Whether the controls on the page render accurately and whether the required capture area is supported
Capture your own front end at a fixed viewport or full page An API-backed plugin, or a screenshot API called from your own workflow Viewport versus full page, selector capture, device options, and external data flow
Generate a PDF or automate captures Capture – Screenshots & PDF, or an API Account, credentials, output options, and service dependency

A “website screenshot” can mean a remote thumbnail or a capture of a page already open inside WordPress. These are different workflows. A plugin that captures an admin page is not necessarily suitable for inserting arbitrary external URLs into a post.

2. Compare the main plugin workflows

Browser Screenshots / Browser Shots: embed an external URL

Browser Screenshots uses a [browser-shot] shortcode and an editor control to embed a screenshot of a website URL. Its listing says it uses WordPress.com mshots, stores generated images on WordPress.com rather than on your site, and caches them for roughly 24 hours before regeneration. This is a lightweight remote-image workflow; it does not create a screenshot file in your own Media Library. The plugin listing also says the service is free for non-commercial use and cautions that this could change. See the WordPress.org listing for current details.

At the time of the research dossier, the listing showed version 1.7.7, 3,000+ active installations, and compatibility tested up to WordPress 6.5.0. It warned that the plugin had not been tested with the latest three major WordPress releases. These are a dated directory snapshot, not a measure of quality; check the listing and update history before installation.

Capture – Screenshots & PDF: shortcode backed by Capture

This plugin provides screenshot and PDF shortcodes backed by Capture (capture.page). Its listing says it requires a Capture API account, WordPress 4.7+, and PHP 7.4+. Documented options include viewport size, full-page and selector capture, image formats, dark mode, wait or delay behavior, device emulation, and PDF formats. The plugin documents that the target URL, capture parameters, and API credentials are sent to the external service when a shortcode is processed. Review that data flow before using it with private or sensitive pages. See the plugin listing and its linked documentation for current requirements and options.

Urlbox Screenshots: shortcode backed by Urlbox

The Urlbox plugin calls the Urlbox API and inserts screenshots through a shortcode. The listing describes full-page and thumbnail sizing options and requires an Urlbox account, API key, and secret; it calls the API a paid service. At research time it showed version 1.6.1, tested up to WordPress 6.6.8, and last updated two years earlier, with a warning that it had not been tested against the latest three major WordPress releases. Check the current listing before depending on it. Urlbox’s technical documentation describes stitched scrolling and native browser modes for full-page capture, plus CSS-selector captures; those are vendor-described capabilities, not independent performance findings. See Urlbox technical documentation.

Admin Screenshots: capture a WordPress admin page

Admin Screenshots adds a capture button to WordPress admin pages and saves images under the site’s uploads/Media Library area. It can provide a shareable link without giving another person backend access. Its listing says some form controls can render imperfectly because of its HTML2Canvas-based approach and describes full-page capture as still in progress in its FAQ. Check the current listing to confirm its present feature and compatibility state.

Other directory entries

The WordPress screenshot tag also includes tools such as WP Screenshot, WP Featured Screenshot, Super Link Preview, ShrinkTheWeb Website Previews, JSM Screenshot Machine Shortcode, Website Screenshot to Media Library, CaptureMyPage, Screenshot Generator, and ScreenGlow Image Editor. Some create post previews, some rely on external APIs, and some edit existing screenshots. They are not interchangeable. Check each listing’s current update history, WordPress and PHP compatibility, output location, and external-service requirements before adopting it. The WordPress screenshot tag directory is a useful starting point.

3. Check ownership, privacy, and compatibility before installing

  1. Confirm the capture target. Test whether the plugin captures an arbitrary public URL, a page on your own site, or the logged-in admin page.
  2. Confirm where the image lives. It may be an externally hosted image, a file in your Media Library, a PDF, or a URL to a generated result. Do not assume a displayed image is copied to your server.
  3. Trace the data flow. For API-backed services, determine whether the URL, query string, headers, cookies, credentials, or page content are sent to the provider. Avoid sending secrets in a public shortcode or post.
  4. Check the current plugin listing. Review the last update, tested WordPress version, PHP requirements, support activity, and known rendering limitations. A high active-installation count is not proof of maintenance or capture accuracy.
  5. Test the actual page. Use a representative page with its consent dialog, fonts, lazy-loaded images, and responsive layout. Confirm the resulting image is suitable for readers and that the plugin behaves correctly for logged-out visitors.

Plugin directory versions, compatibility notices, installation counts, and vendor options change. The specific snapshots above reflect research dated October 3, 2026; verify live listings before publication or installation.

4. Use an API when a WordPress shortcode is not enough

An API is useful when you need a repeatable capture pipeline, exact viewport settings, bulk screenshots, PDF output, or capture outside the WordPress editor. ScreenshotNeo accepts a URL in one GET request and returns PNG, JPEG, WebP, or PDF output. The service supports full-page capture with lazy images, CSS-selector element capture, dark mode, device presets or custom viewport dimensions, retina scale, PDF paper and page settings, custom CSS and JavaScript, waits, request blocking, headers and cookies, user-agent, timezone, geolocation, caching, signed image links, asynchronous jobs with signed webhooks, bulk calls for up to 100 URLs, and usage reporting. See the ScreenshotNeo documentation for parameter names and current request details.

cURL

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

Python

import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://example.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://example.com'
});
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
const bytes = new Uint8Array(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', bytes));

Replace the example URL and store the API key in server-side configuration or a secret manager. Do not put a private API key in browser JavaScript or public post content. For a public WordPress page, generate a signed image link or proxy the request through server-side code rather than exposing credentials.

Common capture options

Need Option to configure Practical note
Whole page Full-page capture Long pages take longer and may contain sections that only appear after scrolling; lazy images are loaded.
One component CSS selector capture Use a stable selector and check behavior when it matches nothing or multiple elements.
Mobile or high-density output Device preset/custom viewport and retina scale Viewport changes responsive layout; retina scale increases pixel dimensions and file size.
Wait for dynamic content Selector wait, delay, or network idle Prefer a concrete selector when available; network activity can remain open on analytics or streaming pages.
Exclude overlays or clutter Hide selectors, custom CSS, or request blocking Hiding page elements can alter layout; verify the output at the chosen viewport.
PDF delivery Paper size, margins, landscape, page ranges Check page breaks and whether the selected range includes all required content.
Geographically sensitive page Timezone and geolocation Set both when the site uses local time or location to select content.
Authenticated page Custom headers, cookies, user-agent, or Authorization Credentials are sensitive. Use only pages you are authorized to capture and protect keys and returned files.
Transparent asset Transparent background Useful for isolated page elements; not every page background will appear transparent.
Smaller image Resize and output format Choose PNG for sharp text or transparency, JPEG for photographic content, and WebP where the consumer supports it.

5. Or skip the browser setup

Use ScreenshotNeo’s one-call API when you need a rendered page without setting up and maintaining a browser in your application. The URL below matches the cURL, Python, and Node.js examples; full options are in the API documentation.

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

ScreenshotNeo accepts cookie and consent banners like a visitor, then removes 60+ known consent platforms, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and the response identifies the page verdict and billing status in headers. Its MCP server gives Claude, Cursor, and other MCP clients the take_screenshot, get_page_info, and capture_pdf tools. The Free plan includes 1,000 shots each month with no card; paid plans start at $5 for 3,000 shots. Every feature is on every plan.

Create a free ScreenshotNeo account for 1,000 screenshots a month with no card.

6. Performance, reliability, and cost

  • Remote embeds: Browser Screenshots’ remote mshots image is cached for roughly 24 hours according to its listing. This can make a post easy to publish, but the image is externally hosted and is not your local source file.
  • API captures: Rendering depends on the target site loading and the external service responding. A timeout can reflect slow scripts, a blocked page, or a long wait condition; keep waits specific and handle failed responses in your publishing workflow.
  • Full-page output: It can require more scrolling and image processing than a viewport capture. Use viewport shots when only the initial view matters, and selector capture when just one component is needed.
  • Image size: Retina output and tall pages increase transfer and storage size. Resize or select WebP/JPEG when appropriate, while retaining PNG when transparency or crisp interface text matters.
  • WordPress load: Avoid synchronously rendering many external captures on every page view. Cache rendered results or generate them during content updates; otherwise visitors may wait on a third party.
  • Costs: Verify the current terms of any external service before scaling. ScreenshotNeo’s stated tiers are Free 1,000 per 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.

7. Troubleshooting

Symptom Likely cause What to do
Shortcode prints as text Shortcode is unsupported in that block/context, or plugin is inactive Activate the plugin, use a shortcode-enabled block, and check the plugin’s documented shortcode syntax.
Image is missing or stale Remote renderer is unavailable, image is still cached, or the URL redirects/blocks capture Open the target URL publicly, check the service’s cache behavior, and try again after its cache window.
Screenshot is not in Media Library The plugin embeds a remotely hosted image instead of saving a local file Choose a workflow that explicitly saves to uploads/Media Library, or retrieve and store the generated file yourself.
API shortcode returns an authorization error Missing account, invalid key/secret, or malformed configuration Check the provider account and credentials, keep secrets server-side, and confirm the shortcode parameter names.
Capture shows a bot check or consent dialog The site presented an interstitial, or the capture workflow does not handle it Check permission and access conditions for the target. For ScreenshotNeo, inspect the page-verdict response and cleanup settings.
Images or fonts are absent Page assets load late, are blocked, or require more waiting Wait for a specific selector or suitable delay; check request blocking and target-site access.
Admin form looks wrong HTML2Canvas-based rendering may not reproduce some form controls accurately Use a browser-based capture workflow for a faithful capture, or document the limitation and verify the resulting image before sharing.
Plugin reports compatibility concerns Listing has not been tested with your current WordPress release or PHP version Review current requirements and update history; test on staging with your installed versions before relying on it.
Capture hangs or is slow Network idle never occurs, scripts keep running, or the page is unusually heavy Use a selector wait or bounded delay instead of waiting indefinitely for idle; block unnecessary resources when appropriate.
Public page exposes an API key Request was made directly from browser code or the key was placed in a shortcode Revoke and replace the exposed key. Make authenticated requests server-side or use a signed public image link.

8. Short FAQ

Can I take a screenshot of a website from a WordPress post?

Yes. Browser Screenshots can embed an external URL screenshot, and API-backed shortcode plugins can provide additional rendering options. Confirm whether you need an externally hosted image or a file you own.

Which plugin saves an admin screenshot to my Media Library?

Admin Screenshots is designed for WordPress admin pages and says it saves captures under uploads/Media Library. Verify its current limitations and compatibility in its listing.

Do these plugins capture full pages?

Some API-backed options document full-page capture. Browser Screenshots is described as an external URL embed, while Admin Screenshots’ listing described full-page capture as in progress at research time. Check current plugin documentation for the exact behavior.

Should I use a plugin or an API?

Use a plugin for an editor-centered workflow with a shortcode or admin button. Use an API when you need to automate captures, control rendering settings, or integrate screenshot generation into another system.

Can I use a screenshot of a page that requires login?

Only if you are authorized to access and capture it. Use a workflow that supports protected request credentials, keep them private, and do not publish a screenshot containing confidential information.