A multi-site favicon system gives every domain, subdomain, and deployment environment a clear visual identity without creating an asset-management problem. This checklist covers how to inventory icons, name files, map them to sites, label staging environments, organize a repository, and review deployment changes before they reach users.
Overview
Managing one favicon for one website is straightforward. Managing favicons for a company site, documentation portal, product application, customer dashboard, campaign microsite, API console, and several staging environments is different. Without a defined system, teams commonly overwrite files, deploy the wrong environment icon, leave an old brand mark in a subdomain, or make a small visual change that is difficult to trace later.
The goal is not to make every favicon different. It is to make every asset intentional, identifiable, and easy to deploy. Start with a canonical brand mark, then decide where a site needs a variation. Production properties may use the standard icon, while development or review environments can use a restrained environment marker. The marker should help internal users distinguish destinations without making the public brand look inconsistent.
A useful system has five parts:
- Asset inventory: a record of every favicon, manifest icon, touch icon, and related file.
- Naming convention: predictable names that describe the property, environment, format, and size when relevant.
- Domain mapping: a table connecting each domain or subdomain to its intended icon set.
- Repository structure: a source-of-truth location that separates editable artwork from generated deployment files.
- Deployment review: a repeatable check that confirms the correct files and HTML references are live.
Before choosing formats and dimensions, use a current favicon size guide to define the minimum output set for your browser, bookmark, and web-app needs. The exact set can vary by project, so document the formats your team has decided to support rather than copying every possible file into every site.
Checklist by scenario
1. One brand, multiple production websites
When several domains share a brand, begin with one approved master artwork. Record the source file, background treatment, light and dark variants, and the date of approval. Generate the required favicon files from that source rather than editing each output independently.
- List every production domain and subdomain.
- Assign each property an owner and a repository or application name.
- Mark whether the property uses the shared brand icon or an approved product variation.
- Confirm that each application references files from its own deployed asset path.
- Check that a change to the master artwork has an intentional rollout plan.
A simple mapping table can prevent ambiguity:
| Property | Environment | Icon family | Asset path | Owner |
|---|---|---|---|---|
| example.com | Production | brand-primary | /public/icons/ | Web platform |
| docs.example.com | Production | brand-primary | /static/icons/ | Documentation |
| app.example.com | Production | product-app | /assets/icons/ | Application team |
2. Subdomains that need visual distinction
Subdomains are easy to confuse, especially when several are open in browser tabs. If an internal tool, preview site, or administrative console needs a visual cue, keep the base mark recognizable and add a controlled distinction. That might be a small corner label, a border color, or a separate approved color treatment.
Document the rule before producing files. For example, production may use brand-primary, preview may use brand-preview, and local development may use brand-local. Do not rely on filenames alone: the deployed icon should also make sense when viewed without its URL.
3. Staging, preview, and local environments
Use environment-specific icons only where they reduce operational risk. A staging favicon can make it easier to notice that a browser tab is connected to a non-production system, but it should not be mistaken for a security control. Keep access controls, authentication, and deployment safeguards separate.
- Choose a consistent marker for non-production environments.
- Apply the marker to staging and preview builds through configuration, not manual file replacement.
- Make local development visually distinct if developers regularly work across production and local tabs.
- Prevent environment markers from being included in production artifacts.
- Test the icon after a preview deployment, not only in the source repository.
4. A new microsite or acquired domain
Before launching a new property, add it to the inventory as if it already had a long-term owner. Decide whether it belongs to the main brand family, needs a product-specific mark, or should remain visually independent. Record the decision, source artwork, target formats, canonical URL, and deployment path.
This is also a good point to check whether the favicon conflicts with an existing property at small sizes. A favicon generator can help create consistent outputs, but retain the source artwork and generation decisions in version control.
What to double-check
Use a predictable naming convention
Names should be readable in a file browser, build log, and pull request. A practical pattern is:
{property}-{environment}-{purpose}-{size}.{format}
Examples include brand-production-favicon-32.png, app-preview-favicon-32.png, and brand-production-apple-touch-icon.png. If a file is shared across properties, name it by the icon family rather than duplicating misleading site names. Avoid names such as new-logo-final2.ico; they provide no durable information.
Separate source, generated, and deployed assets
Keep editable artwork separate from generated files. One repository might use a structure like this:
identity-assets/
source/
brand-primary.svg
product-app.svg
generated/
brand-primary/
product-app/
manifests/
production.json
preview.json
README.md
The README should explain how files are generated, which assets are approved, where each set is used, and how to update the inventory. If your team uses a shared generator, record its configuration or command so another developer can reproduce the output.
Review the HTML and manifest references
Check that the deployed page references the intended files and that relative paths work from the actual application base path. A typical HTML reference may look like:
<link rel="icon" href="/icons/brand-production-favicon.ico" sizes="any">
<link rel="icon" type="image/png" sizes="32x32" href="/icons/brand-production-favicon-32.png">
<link rel="apple-touch-icon" href="/icons/brand-production-apple-touch-icon.png">
Use the formats and tags your project has selected, and verify that a web-app manifest does not point to a different icon family than the document head. For SVG guidance, see the SVG favicon security and compatibility guide.
Common mistakes
- Using one generic icon everywhere: This is simple, but it can make staging and production indistinguishable. Decide deliberately whether that trade-off is acceptable.
- Making environment labels too subtle: A marker that disappears at small sizes will not help in a crowded tab bar. Test at realistic display sizes.
- Making environment labels too prominent: Large labels can reduce legibility and weaken the brand mark. Keep the distinction controlled and documented.
- Editing generated files directly: Manual edits are difficult to reproduce and can be lost during the next generation step.
- Hard-coding a staging icon in shared templates: Configuration should select the environment-specific asset so production builds cannot inherit preview files accidentally.
- Ignoring caching during a rebrand: A correct deployment may still appear unchanged in a browser with an older cached icon. Follow a deliberate replacement process; the favicon rebrand checklist covers this review.
- Checking only the homepage: Test representative pages, subdomains, redirects, authenticated applications, bookmarks, and installed web-app surfaces where applicable.
When to revisit
Review the favicon management system before seasonal planning cycles, after a brand or product redesign, and whenever your build, hosting, framework, or manifest workflow changes. Also revisit it when a new domain is acquired, a subdomain becomes customer-facing, an application is split into separate deployments, or teams report confusing browser tabs.
At each review, take these actions:
- Export the current list of production, staging, preview, and local properties.
- Compare that list with the asset inventory and domain mapping table.
- Remove orphaned icon files only after confirming that no active deployment references them.
- Regenerate outputs if source artwork, format requirements, or tooling has changed.
- Run a representative browser and deployment test using the favicon testing checklist.
- Update the README, ownership fields, and review date.
A consistent favicon system is a small developer identity tool with a practical operational payoff: it makes websites easier to recognize, deployments easier to audit, and future launches easier to repeat. Treat the icon set as versioned infrastructure rather than a collection of leftover image files, and every new domain or environment can follow the same path from approved artwork to verified deployment.