Submitting an app used to mean exporting a folder of thirty icon files. It does not any more: both platforms now take one large square and derive the rest. What has not gone away are the rules about what that square may contain — and they are different rules on each platform, which is where almost every icon problem starts.
Both are square, both want the design to fill the frame, and from there they diverge sharply.
Two rules, and both are violated constantly:
Do not round the corners yourself. iOS applies its own rounded-square mask. If you have already rounded the corners in your export, the mask rounds the rounding, and you get a visible dark fringe where your corner curve and the system’s curve do not agree. Export a full square, right to the edge.
No transparency. The 1024 icon must have no alpha channel at all. A transparent background does not become the wallpaper — it typically fills black, which is why so many submitted icons look like a logo floating on a dark tile. Paint a solid background.
Beyond that: no screenshots of your own app inside the icon, and no words. The icon appears on the home screen at roughly 60 points. Text at that size is a texture, not language.
Android’s adaptive icon is two layers — a foreground and a background — each 108 × 108 dp. That is 432 × 432 pixels at the highest common density.
Here is the part that catches everyone. Only the centre is guaranteed to be visible. The outer 18 dp on each side is reserved: the launcher masks it away, and uses it for the subtle parallax shift when you scroll the home screen. What remains visible is a 72 × 72 dp circle in the middle — two thirds of the width.
So anything that matters has to sit inside that central two thirds. The usual failure is an icon designed to fill the full 108, which then arrives on a phone with its edges shaved off.
The reason for the reservation is that launchers apply different shapes. The same icon becomes a circle on one phone, a squircle on another, a rounded square or a teardrop elsewhere. Your background layer must therefore be a plain colour or a simple texture that survives any of those cuts — not a shape with its own outline.
This one produces a bug report nearly every time it is missed. A notification icon on Android is not your app icon. It must be a pure white silhouette on a transparent background: the system strips all colour and uses only the alpha channel.
Hand it a full-colour icon and every pixel becomes opaque white — the notification shows a featureless white square. The icon file is perfectly valid, which is why it survives review and only shows up once someone receives a notification.
You design at 1024. It is displayed at about 60 points on a home screen, and far smaller in settings lists and search results. That is roughly a seventeen-fold reduction.
What follows from that:
The only honest test is to look at it at real size on a real home screen, next to other apps. Judged alone at 1024 pixels, nearly every icon looks fine.
It is tempting, since both are square marks of the same brand. But a favicon is designed for 16 pixels with no mask, and an app icon is masked, rounded and shown twenty times larger. A favicon scaled up to 1024 looks crude; an app icon scaled down to 16 becomes a blur. They are relatives, not the same file.