Google Play Store Screenshot Size: Height and Width
Google Play screenshot sizes by device: exact height, width, ratios, file rules, validation code, and capture tips.
Direct answer: Google Play has no single screenshot canvas. Standard listing screenshots are JPEG or 24-bit PNG without alpha; shortest side ≥320 px, longest side ≤3,840 px, and longest side ≤2× shortest. Recommendation-ready phone assets are 1,080 × 1,920 px portrait (9:16) or 1,920 × 1,080 px landscape (16:9).
Google writes dimensions as width × height; orientation is labeled here. Source: Google Play Console Help.
Quick reference
| Asset | Height × width | Rules |
|---|---|---|
| Standard listing | No fixed canvas | 320–3,840 px; longest ≤2× shortest; JPEG/24-bit PNG, no alpha |
| Phone portrait | 1,920 × 1,080 (9:16) | Google notation: 1,080 × 1,920 |
| Phone landscape | 1,080 × 1,920 (16:9) | Google notation: 1,920 × 1,080 |
| Tablet/Chromebook | 1,080–7,680 px | 16:9 or 9:16; up to eight per type; four recommended |
| Wear OS | ≥384 × 384 | 1:1 interface image |
| Automotive OS | 800 × 1,280 portrait; 1,024 × 768 landscape | At least two of each if supplied |
| Android XR | ≥1,920 × 1,200; 3,840 × 2,400 recommended | 8:5; four to eight images |
| Android TV | Banner 1,280 × 720 | Banner is separate; add one TV screenshot |
Acceptance versus recommendation
The 320–3,840 px and 2:1 rules are general upload limits. Publishing needs at least two screenshots across different device types. Recommendation guidance asks for at least four 1,080 px-class screenshots; games should provide at least three in one orientation. No cited source claims a conversion lift from any size.
Device guidance
Phones
No single phone pixel size is mandated. Use 9:16 or 16:9 and show the actual app experience; avoid fingers, device mockups and promotional claims.
Tablets and Chromebooks
Use 1,080–7,680 px on relevant dimensions, 16:9 or 9:16, up to eight per type and at least four for large-screen experiences.
Wear OS, Automotive, XR and TV
Wear OS is square and at least 384×384. Automotive uses 800×1,280 portrait or 1,024×768 landscape, two of each if supplied, from the generic system image. XR uses four to eight 8:5 PNG/JPEG images. TV needs a screenshot plus its 1,280×720 banner.
Validate files before upload
Install Pillow with python -m pip install pillow, place files in screenshots/, and run:
from pathlib import Path
from PIL import Image
for p in sorted(Path("screenshots").iterdir()):
try:
with Image.open(p) as im:
w,h=im.size; f=(im.format or "").upper(); e=[]
if f not in {"JPEG","PNG"}: e.append("use JPEG or PNG")
if f=="PNG" and "A" in im.getbands(): e.append("remove alpha")
if min(w,h)<320: e.append("shortest side <320")
if max(w,h)>3840: e.append("longest side >3840")
if max(w,h)>2*min(w,h): e.append("ratio exceeds 2:1")
print(f"{p.name}: {w}x{h} {f} -> "+("OK" if not e else "; ".join(e)))
except Exception as x: print(f"{p.name}: cannot read ({x})")
For recommendation-ready phones additionally require exactly 1080×1920 or 1920×1080. Validate other categories against the table.
Capture workflow
- List supported device types.
- Capture the real UI at target orientation and density.
- Export JPEG or 24-bit PNG without transparency.
- Run the validator and inspect text at 100%.
- Upload at least two screenshots, then add recommended counts.
Or skip the browser setup
ScreenshotNeo captures websites at any viewport and retina scale, supports full-page or CSS-element shots, lazy-image loading, custom CSS/JavaScript, waits and resizing. Cookie banners, newsletter popups and chat widgets are removed before capture. Bot checks, blank pages, timeouts, failed loads and cache hits are not billed; X-Page-Verdict and X-Billed report the result.
Use the exact Play dimensions and verify the returned file. Read the ScreenshotNeo API documentation.
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}`);
Options include PDF, headers, cookies, user agent, request/resource blocking, TTL caching, signed links, async signed webhooks, bulk capture of 100 URLs, usage API, OpenAPI and MCP tools take_screenshot, get_page_info and capture_pdf. 1,000 shots/month are free with no card; paid plans start at $5 for 3,000 and yearly billing gives two months free. Create a free account.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Rejected upload | Outside 320–3,840 or over 2:1 | Resize and rerun validator. |
| Transparency warning | PNG alpha | Flatten; export 24-bit PNG/JPEG. |
| Not recommendation-ready | Wrong phone size/orientation | Use 1,080×1,920 portrait or 1,920×1,080 landscape. |
| Stretched tablet | Phone layout scaled up | Capture large-screen UI. |
| Banner/chat visible | Overlay loaded before capture | Enable cleanup, hide selectors or custom CSS. |
| Non-image API response | Bot check, blank page, timeout or failed load | Inspect verdict/billing headers; adjust waits, headers, cookies or user agent. |
Performance and cost checklist
- Capture only published variants.
- Use selector shots for one panel.
- Cache unchanged URLs with a TTL; bulk capture up to 100.
- Use selector, network-idle or bounded delay waits for dynamic pages.
- Keep deterministic viewport settings and source captures.
- Record verdict and billing headers; failed loads and cache hits cost nothing.
FAQ
Must screenshots be 1080×1920?
No. That is the portrait recommendation target; general uploads follow 320–3,840 px and 2:1.
Can PNGs have transparency?
No. Use JPEG or 24-bit PNG without alpha.
How many are required?
At least two across different device types to publish; recommendations vary by category.
Is 1,280×720 a TV screenshot?
No, it is the separate TV banner.


