One master image in; the full icon set out, every size the stores and systems ask for, resized properly.
Every platform wants the same icon at a parade of sizes: 1024 for the store listing, 180/167/152 for Apple devices, 192/512 for Android and the web, down to 48 for legacy spots. Resizing by hand in an editor is twenty minutes of export dialogs; this generator draws the master image to each size on canvases and offers them as individual PNGs or, via the JSZip library, one tidy ZIP. Resampling uses the browser's high-quality scaling, and each size is rendered directly from the original (never from a smaller intermediate), which keeps edges as clean as the source allows.
Two professional rules baked in: export flat squares, because iOS and Android apply their own corner masks and pre-rounded icons get double-rounded into odd shapes (the checkbox defaults accordingly); and start from a genuinely square, large master, the generator centers and crops non-square images to square, and upscaling a small image to 1024 produces a soft icon no matter the tool. Keep important content inside the center 80% of the artwork: every platform's mask crops corners.
What sizes are included? 1024, 512, 192, 180, 167, 152, 120, 96, 72 and 48 pixels, covering App Store, Google Play, web/PWA manifests and common favicon duties.
Why not pre-rounded corners? Apple masks icons to its own rounded shape and Android uses adaptive masks; submitting flat art is the documented correct input. Pre-rounding bakes in corners that then get cropped again, asymmetrically.
My image is not square, what happens? It is center-cropped to a square before resizing. If the subject sits near an edge, crop it square yourself first for control over what survives.