The 16 pixels that make your site look finished
You shipped the landing page. The copy is tight, the hero loads fast, the form works. Then someone screenshots your site in a browser and there it is, sitting in the tab next to the big players: the generic gray globe, the icon of a site that didn't finish the job. It's the smallest asset on your entire site, and it's the one every visitor sees every time they open a tab.
The generator at the top of this page exists to kill that globe. Drop in your logo — any size, PNG or JPG — and it produces a proper favicon.ico with 16, 32, and 48-pixel images packed inside, plus the PNG set modern platforms expect: the 180×180 apple-touch-icon, the 192 and 512 manifest icons, and a 32×32 PNG fallback. You get a copy-ready HTML snippet with the file names filled in.
Everything runs locally in your browser, which for favicon generation is more than a privacy nicety — the most common favicon source image is a logo for something that hasn't launched yet. The tool never sees it, keeps it, or transmits it. I've generated icons minutes before product announcements, and 'nobody has the asset' was the entire point.
It's fair to ask whether a tab icon deserves any ceremony in 2026. The tab strip is prime real estate — for many users it's the main navigation surface of their entire computing life, and your icon is your site's only permanent resident there. Pages scroll away, bookmarks get buried, history fades into autocomplete. The favicon persists.
Recognition compounds quietly. A user who has seen your mark in the tab strip a dozen times recognizes it in a search result, in a shared link preview, in a phone home screen. That's cheap brand impressions — free, automatic, and repeated daily for the lifetime of the visitor's bookmarks. Companies spend real money for less exposure.
There's also the credibility accounting, which matters most exactly when you have the least of it. A new site with a proper icon reads as a going concern; a new site with the gray globe reads as something someone started and maybe didn't finish. Unfair, probably — but first impressions were never negotiated fairly, and the favicon is the cheapest credibility upgrade available on the entire web.
What a favicon actually is
The favicon is older than Google's homepage redesigns: Internet Explorer 5 introduced it in 1999, and the mechanism it chose — a file named favicon.ico in the site root, requested automatically — is still honored by browsers a quarter-century later. That's one of the longest-lived conventions on the web, and the reason your server logs show requests for /favicon.ico even when your HTML never mentions it.
Since then, the HTML standard caught up and gave us the link element with rel=icon, which lets you point at any image, any size, any format the browser can decode. Every browser since supports PNG favicons; most now accept SVG; and iOS does its own thing entirely, ignoring your favicon in favor of the apple-touch-icon it uses when someone saves your site to a home screen. Android follows the web app manifest. The favicon is no longer one file — it's a small family of files, which is what generators exist to manage.
And the ICO format itself? It's a container, not an image format — a bundle of multiple images at multiple sizes, which is exactly what the different corners of your operating system want. A single favicon.ico can carry 16, 32, and 48-pixel versions, and the requesting software picks the one it needs.
Generate your icon set in six steps
Drop in your source image
A square logo works best. PNG with transparency is ideal; JPG works and gets a background fill. The bigger the source, the better the small renders — 512×512 or larger is the comfortable zone.
Check the 16-pixel preview
The tool shows every generated size as it will actually look. The 16-pixel render is the truth-teller: if your logo survives there, it survives everywhere. If it turns to mush, simplify or bump up the contrast before committing.
Adjust padding and background
Add edge padding so the icon doesn't touch the tab's visual boundary, and choose transparent or solid fill. Letterforms usually want transparency; solid logos often want a filled rounded square.
Generate the set
One click renders every size — 16, 32, 48 inside the ICO, plus the PNGs for Apple, Android, and modern link tags. All rendering happens on your device; nothing uploads.
Download the package
You get the favicon.ico, the individual PNGs, and the manifest-ready files, zipped together with the folder structure that matches the HTML snippet.
Paste the snippet and deploy
Copy the generated link tags into your head, drop the files into your site root (or the paths you prefer), and ship. The snippet references each file by name so there's nothing left to configure.
Inside the ICO file
ICO is a simple, almost charmingly literal format. The file starts with a six-byte header: two reserved bytes, a two-byte type field (1 means icon, 2 means cursor), and a count of how many images the file contains. Then comes a directory — sixteen bytes per image, specifying that image's width, height, color count, and, crucially, the byte offset where the actual image data lives inside the file.
Two details from that directory explain real-world behavior. Width and height are single bytes, which maxes out at 255 — so the format uses the value 0 to mean 256. And the image data at each offset can be either the old Windows BMP format or, since Windows Vista in 2007, a plain PNG. That PNG-inside-ICO trick is what this generator uses: each size is rendered as an optimized PNG and packed into the container, which keeps files small and rendering identical to a standalone PNG.
The finished favicon.ico for a typical logo lands between 2 and 15 KB. That's smaller than most hero images by three orders of magnitude, and it gets requested by every visitor's browser — a final argument for keeping it lean.
A detail that occasionally matters to developers: the directory entries list images in the order they were packed, and most tools write them smallest-first. Reading software scans the directory for the size it wants rather than assuming position, so the order is convention rather than requirement — but if you have ever wondered why a hex dump of a favicon starts with what looks like a tiny table of numbers, that table is the directory, and the images follow it in sequence, each at the offset its entry promised.
The full icon set a modern site ships
| File | Size | Where it's used | How it's referenced |
|---|---|---|---|
| favicon.ico | 16 + 32 + 48 packed | Browser tabs, bookmarks, history, older tools | Placed in site root; also declared with rel=icon |
| favicon-32.png | 32×32 | Modern browsers that prefer declared PNG | link rel=icon type=image/png |
| apple-touch-icon.png | 180×180 | iOS home screen when a site is saved | link rel=apple-touch-icon |
| icon-192.png / icon-512.png | 192×192, 512×512 | Android home screen and splash screens | web app manifest icons entry |
| favicon.svg (optional) | Scalable | Modern browsers; one file, any size | link rel=icon type=image/svg+xml |
The snippet the tool writes for you covers all of these in five lines. Two lines matter more than people realize: the apple-touch-icon line, without which iOS screenshots your page as the home-screen icon instead — an unflattering crop of your hero, at low contrast, every time — and the manifest icons, which do the same job on Android with the same absence of mercy.
Three generations from real projects
Input
1024×1024 logo PNG with transparency — a simple wordmark glyph
Output
favicon.ico at 4.2 KB (16/32/48), apple-touch-icon 180 at 6 KB, full set in one zip
Fifteen minutes after generating, the site had a proper tab icon, and the change in how the project felt was embarrassingly large. A wordmark that survives at 16 pixels reads as intentional; the gray globe reads as a hobby. Same product, different credibility.
Input
A single letter 'D' on a #111827 rounded square, chosen in the tool's text mode
Output
Crisp at 16 pixels without any source logo — generated directly from the letterform
Not every project has a logo yet, and text mode covers that gap honestly: pick a letter, pick a color, get a clean icon. The trap is thin serif type, which collapses at 16 pixels — bold sans-serif letterforms are the survivors. One letter, one color, done.
Input
Detailed camera logo with fine linework, 800×800
Output
16-pixel render was unreadable; simplified to the logo's circle-and-aperture core, then crisp
This is the most common favicon failure: art that was drawn for print or for large screens, asked to perform at 256 total pixels. The fix is subtraction — keep the one shape that identifies the brand, drop the rest. A favicon is a signature, not a poster.
Designing for the smallest canvas in your project
A 16×16 icon contains 256 pixels. That is the entire canvas: fewer pixels than a single letter of body text occupies on screen. Designing for it is its own craft, and the rules are unforgiving in a way large-format design never has to be.
- One shape, one idea — anything that needs explaining doesn't fit in 256 pixels
- Bold strokes over thin lines — a 1-pixel hairline vanishes or shimmers on some displays
- High contrast against both light and dark tab strips — mid-grays disappear in dark mode
- Fill more of the canvas than feels comfortable — logos designed with generous whitespace look microscopic at 16
- Test at actual size — squint at the preview; if it survives the squint, it survives the tab
The classic test is physical: print the 16-pixel version, cut it out, and look at it from arm's length. That's roughly how it reads in a crowded browser tab. The icons that pass are the ones you can name from across the room — which is, not coincidentally, what a favicon is for.
SVG favicons: one file, every size
Modern browsers accept an SVG favicon — a single scalable file that renders crisp at any size, dark-mode aware if you build it carefully. For logos that are simple shapes, it's the elegant endgame: no size matrix, no ICO, one line of HTML.
The caveats are real, though. Safari's support arrived late and remains partial; some enterprise software still wants the ICO; and SVG rendering of tiny sizes can be slightly less predictable than a hand-tuned 16-pixel PNG. The practical consensus — and the default this tool follows — is to ship SVG alongside the classic set, not instead of it. The browsers that can use it do; the ones that can't fall back to files they understand. The cost is one extra file in a zip you were downloading anyway.
The caching gotcha everyone meets once
So you replaced the favicon and the tab still shows the old one. The file is correct, the HTML is correct, and the browser simply doesn't care — favicons are cached with a stubbornness that borders on spite, and a normal refresh frequently doesn't touch them.
- Hard refresh first — Ctrl+Shift+R on Windows, Cmd+Shift+R on Mac
- Try an incognito or private window — a clean profile fetches fresh and tells you whether the file is actually being served
- Version the URL — favicon.ico?v=3 in the link tag forces every browser to re-fetch
- Check the actual URL — the site root favicon.ico is requested by default even when your link tag points elsewhere; both locations should be updated
The worst cache sits in pinned tabs and bookmark managers, which can hold a stale icon for weeks. If your launch checklist includes a favicon change, versioning the URL from day one is the habit that saves you from ever thinking about this again.
Edge cases worth knowing
- Transparency in dark tabs — a transparent icon designed on a light background can turn invisible against dark mode. Preview both; add a subtle stroke or filled background if the shape disappears
- iOS ignores favicon.ico — Safari on iPhone uses apple-touch-icon only, so a missing 180×180 PNG means a screenshot-as-icon fallback you won't enjoy
- Maskable icons for installed apps — Android can crop manifest icons to shapes like circles; keep your mark inside the central safe zone so nothing important gets clipped
- Non-square sources — the tool centers and letterboxes rectangular logos automatically, but a square crop you choose deliberately almost always beats automatic padding
- Extremely large sources — a 6000-pixel input works but wastes memory; downscale to 1024 first for the same result at a fraction of the processing time
Why local generation suits brand work
The images fed to favicon generators are disproportionately logos of unreleased products — the asset most worth protecting during a launch window. Server-side generators receive that logo, and their incentives around retention are unknown. It's a small risk with an asymmetric downside.
The architecture here removes the question. Your logo renders to icons inside your browser on a canvas, the ICO is assembled in memory, and the download is built on your machine. There's nothing to retain, because nothing was ever received.
The pre-launch favicon checklist
Before you call the icon done, run the five checks that take two minutes and catch every common failure:
- The 16-pixel render is recognizable — squint test, from arm's length, in a crowded tab strip
- Both themes pass — preview against a light tab strip and a dark one; a shape that vanishes in dark mode fails half your users
- The file is in the root and the link tags match reality — open the network tab and watch the favicon load with status 200
- iOS saved-to-home-screen shows your icon, not a page screenshot — the 180×180 PNG is present and referenced
- The ICO is under 15 KB — an oversized favicon is requested by everyone and appreciated by no one
When all five pass, the icon stops being a task and becomes infrastructure — present everywhere, noticed by no one, doing its small job forever. That's the correct final state for a favicon: finished enough to forget.
Who generates favicons here
Indie developers shipping side projects on weekends, who want the tab icon done in the same five minutes as everything else. Agencies spinning up client microsites and campaign pages, where each project needs its own icon set and nobody wants to open a design tool for sixteen pixels. Small businesses moving from social-only presence to a first website. Teachers and organizers standing up community sites and classroom pages with more enthusiasm than design budget.
The tool meets all of them at the same place: a logo exists, an icon set is needed, and the distance between those two states should be about ninety seconds. It is.
One pattern deserves a mention because it recurs every launch season: the favicon as the very last item on the checklist, discovered at 1 a.m. the night before shipping. It's the right tool for that moment — no account to create, no design tool to open, no export settings to research. Ninety seconds later the tab shows the logo, the launch photo goes out, and nobody ever knows how close the globe came to making the screenshot.
Questions people actually ask
What sizes does a favicon need?
The core set is 16×16 (browser tab), 32×32 (taskbar, bookmarks, newer tabs) and 48×48 (desktop shortcut), all packed into one favicon.ico. Add a 180×180 apple-touch-icon.png for iOS home screens and 192×192 plus 512×512 PNGs for Android via the web app manifest. This tool generates all of them from one source image.
Is ICO still necessary in 2026?
Technically, modern browsers happily use a 32×32 PNG declared with a link tag, and a lone PNG works fine. But plenty of software still requests /favicon.ico by default — older browsers, feed readers, bookmark managers, and some enterprise tools — so shipping the ICO costs nothing and prevents the generic globe icon from appearing anywhere.
How do I add the favicon to my site?
Put favicon.ico in your site root, then add link tags in the head: rel=icon for the ICO and PNG, rel=apple-touch-icon for the 180×180 PNG. The tool copies the exact snippet for your set, so it's a paste, not a research project.
Why is my favicon not showing up?
Nine times out of ten it's caching — browsers cache favicons with unusual stubbornness and often ignore normal refreshes. Try a hard refresh, an incognito window, or add a version query string like favicon.ico?v=2 to bust the cache. Also verify the file is actually in the root and the link tag path is correct.
Can a favicon have a transparent background?
Yes, and for glyphs and letterforms it's usually the right call — the icon adapts to both light and dark browser tabs. For solid logos and wordmarks, a filled background often reads better, because a rounded logo floating on transparency can look smaller than it is.
What image should I start from?
The largest, cleanest version of your logo or mark you have — ideally a square PNG at 512×512 or larger with a transparent background. The generator scales down, and downscaling is always kinder to detail than upscaling. Small or blurry inputs produce small, blurry icons; no tool can invent the pixels back.
Is my logo uploaded to a server?
No. The image loads into your browser, every size is rendered on a local canvas, and the ICO is assembled in memory before download. Unreleased brand work stays on your machine — which matters when the favicon exists because a product hasn't launched yet.
Tools that pair well with this one
Favicon work usually starts with color decisions and ends with file-size discipline. These are the natural neighbors.
- Color Picker from Image — pull your brand's exact hex values from a logo before building the icon around them
- Color Converter — translate brand colors between hex, RGB and HSL while you're standardizing
- Image Compressor — squeeze the icon PNGs and the images that ship alongside them
Sources and further reading
Sources and further reading
- Microsoft Learn, About Icons — https://learn.microsoft.com/en-us/windows/win32/menurc/about-icons (the ICO binary format: header, directory entries, and embedded images)
- WHATWG HTML Standard, link types — https://html.spec.whatwg.org/multipage/links.html (rel=icon, rel=apple-touch-icon and alternate icon handling)
- MDN Web Docs, Canvas API — https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API (the local rendering pipeline that generates each size)
- W3C PNG Specification — https://www.w3.org/TR/PNG/ (the PNG images embedded inside modern ICO files)
- web.dev, Optimize LCP — https://web.dev/articles/lcp (why small, cacheable assets like favicons belong in the fast path)
We cite primary sources (standards bodies, government agencies, official documentation) wherever they exist so you can verify every number on this page yourself.