Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

WordPress.org does not specify a pixel width, height, or aspect ratio for screenshots on a plugin directory listing. The enforceable limits are a maximum file size of 10 MB (smaller is preferred), a required location in the repository’s top-level assets/ directory, and lowercase, sequential filenames such as screenshot-1.png. Do not apply the WordPress theme screenshot limit of 1200 × 900 pixels to plugin screenshots.

First identify which screenshot you mean

“WordPress plugin screenshot” can describe three different things. Only one is governed by the WordPress.org Plugin Directory asset rules.

Image type Who controls its dimensions? Key requirement
Plugin Directory listing screenshot WordPress.org controls file handling, but publishes no pixel-dimension rule on its plugin asset guidance. Top-level assets/ directory, numbered lowercase filename, maximum 10 MB.
Theme Directory screenshot WordPress.org theme handbook. Must not exceed 1200 × 900 pixels. This is a theme rule, not a plugin rule.
Image inside your plugin’s admin screen or frontend Your plugin’s layout and CSS. Choose dimensions that fit the container and responsive design you implement.

The rest of this guide covers screenshots displayed on a WordPress.org plugin listing. If you are designing an image inside your own plugin, skip to the section on in-plugin UI images.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What WordPress.org actually requires for plugin screenshots

No published pixel size

The official plugin asset guidance specifies file location, naming, captions, and file size, but does not prescribe a width, height, or aspect ratio in pixels. You can export a wide, square, or tall image as long as it remains legible in the directory gallery and meets the file rules. Avoid presenting a made-up value such as “1200 × 900 is required”; that number belongs to themes.

10 MB maximum file size

Each screenshot file must be 10 MB or smaller. WordPress Developer Resources states: “10MB is maximum file size for screenshots, but as always, the smaller the better.” A compressed PNG or JPG generally gives visitors a faster gallery load than a very large file, even when both are below the ceiling.

Accepted formats and filename pattern

Use PNG or JPG files with lowercase, sequential names:

  • screenshot-1.png
  • screenshot-2.jpg
  • screenshot-3.png

Do not skip numbers if you expect a predictable gallery order. Localized variants can use a language suffix such as screenshot-1-de.png; when a matching localized image exists, WordPress.org gives it priority for that language.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Prepare a screenshot that remains readable

Because no official pixel dimensions exist, choose dimensions from the content rather than from a supposed standard.

Capture the useful state

  • Show the feature a prospective user needs to understand, not a browser tab, personal account data, or unrelated desktop area.
  • Use realistic sample content and remove API keys, email addresses, customer names, and site URLs that should not be public.
  • Capture a complete workflow across several numbered images instead of shrinking an entire complex interface into one unreadable frame.

Choose dimensions from the interface

For a settings page, capture enough width to show labels, controls, and validation messages without forcing tiny text. For a dashboard, a wider image may communicate relationships between panels; for a mobile-only feature, a tall image can be appropriate. Keep a consistent visual scale across the numbered set so the gallery does not jump between radically different zoom levels.

Export and check the file

  1. Export as PNG when crisp interface text, icons, or diagrams are the priority.
  2. Export as JPG when the image is photographic or a high-quality PNG would be unnecessarily large.
  3. Open the exported file at its actual pixel size and inspect small labels before uploading.
  4. Check the file size in your operating system or image editor and reduce quality, dimensions, or metadata if it exceeds 10 MB.
  5. Confirm the filename is lowercase and follows the sequential pattern.

Put screenshots in the correct SVN location

Plugin listing screenshots belong in the repository root’s assets/ directory, beside trunk/ and tags/. They do not belong in trunk/assets/ or in a release-tag directory. WordPress.org says these listing images do not need to be included in the plugin installation download.

A typical checkout should look like this:

my-plugin-svn/
├── assets/
│   ├── screenshot-1.png
│   └── screenshot-2.jpg
├── tags/
└── trunk/
    ├── my-plugin.php
    └── readme.txt

Example SVN commands

From a local SVN checkout, add the files and commit them to the repository:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
svn add assets/screenshot-1.png assets/screenshot-2.jpg
svn commit -m "Add plugin directory screenshots"

Use the credentials and repository URL supplied for your plugin’s WordPress.org SVN repository. The commands above assume the files are already in the checkout’s top-level assets/ directory.

Add captions in readme.txt

Add one numbered screenshot line for each image. The text after the number becomes the displayed caption. Keep the files local; external image URLs do not work for Plugin Directory screenshots.

== Screenshots ==

1. Configure the connection on the Settings screen.
2. Review imported records in the dashboard.

Make the order in readme.txt match the filenames. If you have two images, provide two numbered lines; WordPress.org recommends one screenshot for each line.

Upload, wait for caching, and verify the gallery

  1. Commit the assets and the updated readme.txt to SVN.
  2. Open your public Plugin Directory page and check that the gallery contains the expected images and captions.
  3. If an old image appears, wait for the directory cache to refresh. WordPress.org says changes often take a few minutes and, under high server load, can take up to six hours.
  4. Review the rendered gallery at the current directory layout. A July 2026 developer update says the directory rebuilt screenshot galleries with adaptive layout and lightbox support, and recommends that maintainers check how their screenshots render.

Theme screenshots are a separate rule

The frequently quoted 1200 × 900-pixel limit applies to a WordPress.org theme screenshot in the theme’s stylesheet directory. It is not a requirement for a plugin listing screenshot. Copying that value into a plugin submission can lead you to crop useful UI unnecessarily or to claim an official rule that does not exist.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Images inside your plugin’s own interface

If the image appears in your plugin’s settings page, metabox, block editor panel, frontend widget, or documentation tab, WordPress.org’s directory asset guidance does not set its dimensions. Your plugin owns the container, so use responsive CSS and provide an appropriate intrinsic size.

Practical UI checks

  • Set a maximum width so a large source does not overflow narrow admin columns.
  • Use height: auto to preserve the image’s aspect ratio.
  • Provide meaningful alt text and ensure text in the image is not the only way to understand the feature.
  • Test at common desktop and mobile widths, with browser zoom increased.
  • Do not confuse the image’s CSS display width with the source file’s pixel dimensions; a retina-ready source can be displayed at half its intrinsic width.

Troubleshooting checklist

The screenshot does not appear

  • Confirm it is in the repository-root assets/ directory, not trunk/assets/.
  • Check that the extension is PNG or JPG and the filename is lowercase.
  • Verify the number in the filename has a matching numbered line in readme.txt.
  • Confirm the SVN add and commit completed successfully.
  • Allow for CDN caching before assuming the upload failed.

The gallery order is wrong

Rename files to a contiguous sequence beginning with screenshot-1, then make the numbered lines in readme.txt use the same order. Avoid mixed capitalization and gaps such as screenshot-1, screenshot-3.

The image is rejected or too large

Check the file size; 10 MB is the maximum. Re-export at a sensible quality, remove unnecessary metadata, or reduce dimensions while preserving readable text. There is no need to force a particular pixel size to satisfy the plugin asset rule.

A localized screenshot is not showing

Use the documented language-suffix form, such as screenshot-1-de.png, and ensure the base numbered screenshot and the localized file correspond. WordPress.org gives a matching localized screenshot priority for that language.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If you need source screenshots for a plugin walkthrough, release notes, or an internal review, ScreenshotNeo can capture the page through one HTTP request. It is separate from WordPress.org’s asset rules: you still resize, redact, name, and commit the resulting image yourself.

Using the API avoids manual browser setup. Before capture, ScreenshotNeo accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.

See the complete parameter reference in the ScreenshotNeo documentation. The following calls are runnable; replace the target URL and API key.

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)
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}`);

ScreenshotNeo returns PNG, JPEG, WebP, or PDF and supports options such as full-page capture with lazy images loaded, CSS-selector element capture, device presets, custom viewports, retina scale, waits, custom CSS and JavaScript, click and hide selectors, request blocking, headers and cookies, timezone and geolocation, transparency, resizing, chosen cache TTL, signed links, asynchronous webhooks, bulk capture of up to 100 URLs per call, usage reporting, and an OpenAPI specification. Every feature is available on every plan. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account to get started.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Cost and reliability considerations

For directory assets, the relevant WordPress.org cost is your normal repository workflow; the screenshot file itself must simply stay under 10 MB. For automated captures, plan around page complexity: wait for a selector or network idle when content is rendered client-side, use a CSS selector when only one panel is needed, and set a cache TTL when the same URL is captured repeatedly. Treat bot checks, blank responses, and failed loads as capture failures to diagnose rather than as usable screenshots, even though ScreenshotNeo does not bill those outcomes.

Frequently Asked Questions

Does WordPress.org require plugin screenshots to be 1200 × 900 pixels?

No. The 1200 × 900 maximum is documented for theme screenshots. The plugin asset guidance does not publish a pixel width, height, or aspect-ratio requirement.

Can I link to an image hosted on my own website?

No. Plugin Directory screenshots must be local files in the SVN repository’s top-level assets directory; external image links do not work.

How long should an updated screenshot take to appear?

WordPress.org says updates often take a few minutes, but CDN caching can take up to six hours under high server load.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The Bottom Line

For a WordPress.org plugin listing, there is no official pixel dimension to set. Keep each PNG or JPG at 10 MB or less, place it in the repository-root assets/ directory, use lowercase sequential filenames, and pair every image with a numbered local line in readme.txt. Choose the actual width and height for readability rather than copying the separate theme screenshot rule.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.