Your site can look finished while its browser tab still shows a blank placeholder. A favicon fixes that small but noticeable gap. Yet one uploaded PNG does not cover every place your site needs an icon. Browser tabs, bookmarks, and phone home screens use different sizes and discovery methods. Start with readable artwork, export a focused set of files, and connect each file to the place that needs it.
Your Favicon Plan
- Choose a square source image that stays readable at 16 pixels.
- Export tab icons, a touch icon, and larger manifest icons.
- Add the file references and test them on browsers and phones.
Choose a Source PNG That Can Handle Shrinking
A favicon works best as a recognizable shape. A full company name, detailed illustration, or photograph often loses its meaning when reduced to a few pixels. A single letter, simplified logo mark, or bold symbol usually gives you a stronger starting point.
Browse icon PNG artwork if you need ideas or a starting image. Before converting anything, check its usage rights, actual pixel dimensions, and transparency. A downloadable image does not automatically grant permission for commercial use. Keep a record of the license and any required attribution.
Aim for a square source at least 512 by 512 pixels. A 1024 by 1024 original gives you more room for editing, provided the artwork is sharp. Enlarging a tiny download to those dimensions will not recover missing detail. Check the original file properties instead of relying on its preview size.
Open the PNG over both light and dark backgrounds. A checkerboard visible inside the image may be baked into the pixels rather than showing real transparency. Watch for pale fringes around the edges, too. Those fringes can become obvious against a dark browser tab.
If the source is rectangular, place it on a square canvas without stretching it. Crop empty space carefully. Give the symbol breathing room, but avoid shrinking it so much that the final favicon looks like a dot.
Judge the Icon at Its Actual Display Size
The most useful preview is also the least flattering: 16 by 16 pixels, viewed at actual size. Make a temporary export and look at it without zooming. Can you recognize the shape immediately? Do the letters remain distinct? Does the center turn into a solid blob?
Repeat the check at 32 by 32 pixels. Thin strokes, small gaps, and subtle gradients often fail during reduction. Simplify the artwork before generating the package. Remove small lettering, widen narrow lines, and increase the space between separate shapes.
Test the design against white, dark gray, and a midtone background. Transparent artwork takes on the surrounding interface color. A dark symbol may vanish in a dark tab bar. A light outline or a deliberate background tile can help, but inspect the result at small sizes before committing.
You can use a slightly adjusted design for the smallest exports. For example, a detailed logo might become its central symbol at 16 pixels while the larger install icon keeps more detail. Keep the shape and colors consistent enough that both versions feel connected.
Build a File Set With a Clear Job for Each Icon
A complete package does not need dozens of files. It needs reliable coverage for your intended surfaces. The following set is a useful baseline for a general website that may also offer installation through a web app manifest.
Favicon Files and Their Intended Uses
| File | Pixel Dimensions | Purpose |
|---|---|---|
favicon.ico |
16 × 16, 32 × 32, and 48 × 48 frames | Compatibility fallback in a single container |
favicon-16x16.png |
16 × 16 | Small browser tab rendering |
favicon-32x32.png |
32 × 32 | Larger or higher-density browser icon rendering |
apple-touch-icon.png |
180 × 180 | A common Apple home screen icon size |
icon-192.png |
192 × 192 | A common manifest icon size for installation |
icon-512.png |
512 × 512 | A larger manifest icon for install interfaces |
icon-maskable-512.png |
512 × 512 | Artwork prepared for launcher shape cropping |
These sizes are a practical baseline rather than a guarantee that every platform will choose a particular file. Browsers select suitable icons based on their own context. Explicit dimensions help them make that choice.
Generate PNG and ICO Variants Without Losing Detail
Load your cleaned source into a favicon generator or an image editor with ICO export support. Generate every PNG directly from the master image. Avoid resizing a 32-pixel export into a 192-pixel icon, or repeatedly shrinking one export into another.
Use a high-quality downsampling setting, then inspect the smallest results. Resizing software cannot decide whether a tiny gap carries meaning. If the 16-pixel version looks muddy, adjust the artwork or edit that export separately.
For the ICO file, include 16, 32, and 48-pixel frames. ICO is a container that can hold several image sizes. Renaming a PNG to favicon.ico does not create an ICO file. Check that your export tool writes the actual format and includes the intended frames.
Give the Apple touch icon an opaque background that suits the artwork. Keep its canvas square and let the operating system apply its presentation. Baking rounded corners into the image can produce awkward edges when the device applies its own shape.
A maskable icon needs separate attention. Fill the entire canvas with a background and keep meaningful artwork within the central safe circle. That circle has a radius of 40 percent of the image width. On a 512-pixel canvas, that is about 205 pixels. Background artwork can extend beyond it, but important letters and symbols should remain inside.
Do not label an ordinary edge-to-edge logo as maskable without checking its crop. The platform may trim its corners or sides. A dedicated maskable file gives you control over the padding.
Add HTML Tags Where Every Page Can Find Them
Upload the files to your public site assets. Then place these declarations inside the document’s <head>, usually through a shared template or layout. The escaped example below shows the markup to copy into that template.
<link rel="icon" href="/favicon.ico" sizes="16x16 32x32 48x48">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
The dimensions in each declaration must match the file. If your ICO contains different frames, adjust its sizes value. The PNG type identifies the image format, while rel identifies how the browser should use the resource.
Paths beginning with a slash point to the domain root. If your site lives under /portfolio/, update the paths to include that prefix or use your framework’s base-path helper. This catches a common deployment failure: everything works locally, but the published site requests icons from the wrong directory.
Keeping favicon.ico at the domain root also serves clients that request that conventional location. Still include explicit declarations for predictable discovery across your pages.
Connect Larger Icons Through a Web App Manifest
Create site.webmanifest as a valid JSON file. A manifest describes application details, including which images can serve as install icons. Here is a starting configuration for a site deployed at the domain root:
{
"name": "Studio Notes",
"short_name": "Notes",
"start_url": "/",
"scope": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#173d48",
"icons": [
{
"src": "/icon-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icon-maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
]
}
Replace the example names and colors with your own. Adjust start_url and scope if the application sits below the domain root. JSON requires double quotes and does not allow trailing commas.
Each src points to an icon file. Relative icon paths resolve against the manifest URL. The purpose value any identifies a general-use icon. The value maskable tells the platform that the artwork was prepared for shape cropping.
The manifest’s background_color does not paint a background into transparent icon pixels. Add that background during image creation when you need one.
Serve the manifest with the application/manifest+json content type when your hosting setup supports it. Manifest icons alone do not guarantee an installation prompt. Installation behavior depends on the browser and other application conditions, including how the site is served. Test the actual flow over HTTPS.
Test Browser Tabs and Mobile Installs Separately
Start by opening each deployed asset directly. Confirm that it loads as an image or manifest rather than a missing-file page. Some hosts return the site’s HTML for unknown paths, which can hide a broken icon URL behind a successful HTTP status.
Use browser developer tools to inspect network requests. Check the manifest panel where available. Then carry out these checks on the published site:
- Open a fresh tab in your main desktop browsers and inspect the icon at normal size.
- Compare light and dark browser themes for disappearing edges or weak contrast.
- Bookmark the site and check the saved icon.
- Add the site to an iPhone home screen and inspect the touch icon.
- Install or add the site on Android and inspect the launcher shape.
- Check an inner page to catch missing shared markup or incorrect relative paths.
Browser tabs and installed shortcuts can cache icons aggressively. If an old design persists, check the requested URL before changing your artwork again. Try a fresh browser profile or clear the relevant site data. For explicit icon references, a versioned filename can help distinguish a new asset.
An existing mobile installation may keep its earlier icon. Remove the shortcut or installed application, then add it again for a clean test. A desktop preview cannot tell you whether the phone’s launcher crops a letter off your maskable image.
Give Your PNG a Reliable Place Everywhere
The finished package should feel consistent from a tiny browser tab to a phone home screen. That comes from a readable source, deliberate exports, accurate file references, and testing on real interfaces.
Keep the master artwork and export settings with your project. When the design changes, regenerate the package, verify the paths, and repeat the display checks. Your favicon then becomes a maintainable part of the site, with a clear job for every file.
