PWA tooling

PWA Icon Generator

Upload one image and instantly get every standard PWA icon size, each ready to download, plus a manifest.json icons array to match.

No image selected yet.

Your image is processed locally on canvas — nothing is uploaded.

📸

One upload, 8 sizes

72, 96, 128, 144, 152, 192, 384 and 512 pixels, generated together from a single source image.

Smart square cropping

Non-square images are scaled to cover and center-cropped, so nothing looks stretched or squished.

💾

Manifest snippet included

A ready-to-paste icons array for manifest.json, matching the filenames you download.

How to use the PWA icon generator

Upload one image and download the icon set it produces.

  1. Upload an imageClick the upload area or drag in a PNG, JPG or WebP file, ideally square and at least 512×512.
  2. Download each sizeEvery generated icon has its own download link, named icon-<size>.png.
  3. Copy the manifest snippetPaste the generated icons array into your manifest.json once the files are saved into your icons folder.

Why PWA icons need so many sizes

A web app manifest can request an icon of almost any size, and different platforms pick whichever one fits their context best: a small size for a notification badge, a mid-size one for a home-screen shortcut, and 512x512 for an Android splash screen. Providing the full standard set means your app looks crisp everywhere instead of being scaled up from a single small icon, which tends to look soft or blurry.

Small sizes (72–128px)

Used for notification icons, shortcuts and some launcher contexts where space is limited.

Mid sizes (144–192px)

The most common home-screen icon sizes across Android and desktop PWA installs.

Large sizes (384–512px)

512x512 in particular is used to generate the splash screen shown while a PWA launches on Android.

Center-crop, not stretch

Every size is generated by scaling your image to cover a square canvas and cropping the overflow evenly.

PWA icon generator FAQ

Questions about image requirements, cropping and the manifest snippet.

What image format and size should I upload?

Any PNG, JPEG or WebP works. Start with a square image at least 512x512 pixels for the sharpest results, since every generated icon is scaled down from what you upload rather than up.

Are the generated icons cropped or squished to fit?

Cropped, not squished. If your image isn't square, it is scaled up to cover the square canvas and center-cropped, so the aspect ratio is preserved and nothing looks stretched.

Will my image be uploaded anywhere?

No. The image never leaves your browser. It is read locally and every size is generated on an in-page canvas, so nothing is uploaded to a server.

What are all these icon sizes for?

Different platforms and contexts request different icon sizes from a web app manifest: small sizes for notifications and shortcuts, larger ones for home-screen icons and app switchers, and 512x512 for splash screens on Android.

How do I use the generated manifest snippet?

Download each PNG into an icons folder in your project, matching the filenames referenced in the snippet, then paste the icons array into the "icons" field of your manifest.json.