How I Fixed a Broken Favicon Generator for iOS and Android Process

2026-07-23 · 3 min read

A WordPress agency I work with had 60 client sites using the default WordPress favicon. Not a single one had Apple touch icons or Android manifest icons. I generated complete favicon packages for all 60 in under two hours.

The Problem That Made Me Rethink Everything

I used to think generating these was straightforward — pick a type, enter the data, export. Then I had a situation that changed my mind. I deployed a PWA and the Android install prompt refused to fire. No error message, just silence. Chrome DevTools showed the manifest.json referenced a 192px icon but the actual file I uploaded was 96px. Android silently rejects dimension mismatches.

The root cause was not the tool. It was that I did not understand what the destination actually needed. Apple's Safari Web Content Guide (apple-touch-icon specification) spells out the requirements clearly, but most generators do not enforce them. They let you generate something that looks right on screen and fails in the real world. That gap — between what looks right and what actually works — is where most problems live.

What I Changed After That Experience

I stopped treating generation as a one-click task and started treating it as a two-step process: configure, then verify. The configuration step is where I match the type and parameters to the actual destination. The verification step is where I test the output in conditions that match the real world — not just on my screen.

Our ICO generator handles the configuration complexity so I focus on verification. The multi-size pack is especially useful for this workflow.

How to Test Before You Go Live

Test with the actual reader — not your eyes. If it is a barcode, scan it with the same scanner model your recipient uses. If it is a favicon, add it to a test site and check it on an actual iPhone and Android device. The simulator lies. The real device does not.

I also test the edge case: what happens at minimum size? What happens on a slow connection? What happens when the background is the wrong color? If it passes all three, it is ready.

David Kim Written by David Kim — Frontend & WordPress Developer. More about me →