I uploaded screenshots to Google Play, and they got rejected.

All I did was submit screenshots taken on a real device, as-is. No editing. And they didn’t pass.

The cause was a requirement that doesn’t get talked about much.

The requirements

These are the phone screenshot requirements as I confirmed them in Google Play’s official help (as of August 2026):

  • JPEG or 24-bit PNG (no alpha channel)
  • 320–3840px per side
  • The long side must not exceed twice the short side
  • Recommended: 9:16 portrait, at least 1080×1920

The third one is the problem. Long side ÷ short side must be ≤ 2.

The 2 that got rejected

I hit two at the same time.

1. Raw screenshots from my test device

My test device was a moto g24, with a resolution of 720×1612.

1612 ÷ 720 = 2.239  → fail

Phones keep getting taller, so it’s completely normal for raw screenshots from a real device not to pass as-is. The assumption that “I took it on a real device, so it must be the right size” doesn’t hold.

2. The resolution written in the design instructions

This one was even more troublesome. The screenshot instructions I had on hand listed the resolution for Set A as 1179×2556.

2556 ÷ 1179 = 2.168  → fail

Some of you may recognize that number. It’s the iPhone 15 Pro’s resolution. The instructions had been written with the App Store requirements mixed up with Google Play’s.

If I’d followed the instructions to the letter, I’d have had to redo everything.

How to fix it

Simply scaling down doesn’t change the ratio, so you have to change the aspect ratio itself.

Here are the 2 steps I took:

  1. Crop off the navigation bar at the bottom of the screen (it doesn’t need to be in a store listing image anyway)
  2. Fit the image into a 1080×1920 frame and fill the side margins with the app’s background color

The key is the margin color. If your app’s UI is dark, filling with the same color as the background (in my case #12162B) makes the seams completely invisible. Fill with white and it looks like a picture frame, so always match the app’s background color here.

I batch-convert them with PowerShell.

Add-Type -AssemblyName System.Drawing
$TARGET_W = 1080; $TARGET_H = 1920
$BG = [Drawing.ColorTranslator]::FromHtml('#12162B')  # match the app's background color
$NAV_CROP = 48   # height (px) of the nav bar to crop off. Adjust for your device

foreach ($f in Get-ChildItem .\raw\*.png) {
    $src = [Drawing.Image]::FromFile($f.FullName)

    # 1) Crop off the nav bar
    $cropH = $src.Height - $NAV_CROP
    $cropped = New-Object Drawing.Bitmap $src.Width, $cropH
    $g = [Drawing.Graphics]::FromImage($cropped)
    $g.DrawImage($src, 0, 0, [Drawing.Rectangle]::new(0, 0, $src.Width, $cropH), 'Pixel')
    $g.Dispose(); $src.Dispose()

    # 2) Fit into 1080x1920 and fill the margins with the background color
    $scale = [Math]::Min($TARGET_W / $cropped.Width, $TARGET_H / $cropped.Height)
    $w = [int]($cropped.Width * $scale); $h = [int]($cropped.Height * $scale)
    $canvas = New-Object Drawing.Bitmap $TARGET_W, $TARGET_H
    $g2 = [Drawing.Graphics]::FromImage($canvas)
    $g2.Clear($BG)
    $g2.InterpolationMode = [Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic
    $g2.DrawImage($cropped, [int](($TARGET_W - $w) / 2), [int](($TARGET_H - $h) / 2), $w, $h)
    $g2.Dispose(); $cropped.Dispose()

    $canvas.Save(".\out\$($f.Name)", [Drawing.Imaging.ImageFormat]::Png)
    $canvas.Dispose()
    Write-Output "✓ $($f.Name)"
}

It uses System.Drawing, so on Windows there’s nothing extra to install. No need for ImageMagick.

Things to watch out for

Don’t leave an alpha channel. The requirement is “24-bit PNG (no alpha).” The code above fills the whole canvas with the background color before drawing, so no transparent areas remain. Submit a PNG that includes transparency and it gets rejected too.

This rule applies to every app. Fixing it for one app doesn’t change the fact that the same requirement applies to your other apps’ screenshots. I have 3 apps, so I reuse the same conversion script across all of them.

Summary

Raw screenshots from a real device won’t pass Google Play as-is. The taller the phone, the more likely you are to get caught.

And the quietly dangerous part is getting mixed up with App Store resolutions. 1179×2556 is an iPhone number, and it fails on Google Play. It’s worth checking once which store the numbers in your instructions actually came from.


On the store review front, the time I renamed my GitHub account and all my policy pages went 404 did a lot more damage. Worth reading alongside this one.