Skip to main content
L
Loopaloo
Buy Us a Coffee
All ToolsImage ProcessingAudio ProcessingVideo ProcessingDocument & TextPDF ToolsCSV & Data AnalysisConverters & EncodersWeb ToolsMath & ScienceGames
Guides & BlogAboutContact
Buy Us a Coffee
L
Loopaloo

Free online tools for developers, designers, and content creators. Your files are processed in your browser and are never uploaded - no accounts required. A few network utilities (like What's My IP and Currency Converter) call public APIs to do their job and say so on their pages.

support@loopaloo.com

Tool Categories

  • Image Tools
  • Audio Tools
  • Video Tools
  • Document & Text
  • PDF Tools
  • CSV & Data
  • Converters
  • Web Tools
  • Math & Science
  • Games

Company

  • About Us
  • Contact
  • Blog
  • FAQ

Legal

  • Privacy Policy
  • Terms of Service
  • Disclaimer

Support

Buy Us a Coffee

© 2026 Loopaloo. All rights reserved. Built with privacy in mind.

Privacy|Terms|Disclaimer
  1. Home
  2. Web Tools
  3. Favicon Generator
Add to favorites

Favicon Generator

Build a favicon from text, an emoji or an image and get a real favicon.ico holding 16, 32 and 48 pixel images, seven PNGs, a web app manifest and the head tags, in one archive, with the ICO parsed back from its own bytes before it is offered

Runs locally in your browserMore web toolsJump to full guide

Related reading

  • Favicon & App Icons: Complete Guide to Sizes and Formats11 min read

Initializing in your browser…

You might also like

Image to Icon Generator

Turn one image into a full icon set, including a real multi-size favicon.ico read back from its own bytes before it is offered. Names the resampling filter, states what a square crop discarded, and decodes every PNG again to confirm its size.

Mock Data Generator

Generate fake data that is the thing it is labelled: card numbers with a real Luhn check digit, IBANs that pass ISO 7064 MOD 97-10, UUID v4 and v7 per RFC 9562, reserved e-mail and IP ranges, a seed so the same data comes back, and JSON, NDJSON, CSV or SQL output

Password Generator

Generate passwords from the Web Crypto generator by rejection sampling, with the entropy stated exactly from the alphabet, the cost of every rule computed, and crack times against four named attacker models

Favicon Generator: a worked example

You have one 512×512 logo PNG and need every favicon size plus the exact HTML to drop into <head>.

Uploaded

logo.png (512×512, transparent background)
What Favicon Generator produces

Generated set + markup

favicon-16.png  favicon-32.png  favicon-48.png
apple-touch-icon-180.png  android-chrome-192.png  android-chrome-512.png

<link rel="icon" sizes="32x32" href="/favicon-32.png">
<link rel="apple-touch-icon" href="/apple-touch-icon-180.png">

Different surfaces demand different sizes, 16/32 for browser tabs, 180 for iOS home screens, 192/512 for Android and PWA manifests. The tool downsamples your single source image to each, all in the browser via canvas, and hands you the precise `<link>` tags so you do not have to remember which platform wants which file.

About the Favicon Generator

Build a favicon from text, an emoji or an image, and get a real favicon.ico holding three sizes, the PNGs a modern browser asks for, the web app manifest and the head tags, all in one archive.

Key features

  • A real favicon.ico holding 16, 32 and 48 pixel images, read back from its own bytes before it is offered
  • BMP inside the ICO, with the doubled BITMAPINFOHEADER height an ICO requires
  • Seven PNGs, each with a line saying what asks for it
  • A site.webmanifest and the head tags to paste
  • One ZIP with everything and a README saying where each file goes
  • Text, emoji or an uploaded image, with any CSS Color 4 colour notation
  • A corner radius that is a percentage of the side, so 50 percent is a circle
  • The contrast between the glyph and the plate, measured

How to use

  1. 1Choose a source: type up to three characters, pick an emoji, or upload a square image of at least 512 pixels.
  2. 2Set the colours and the corner radius. The panel says what the contrast between glyph and plate measures.
  3. 3Name the site, which is what goes in the manifest.
  4. 4Download favicon.ico on its own, or the whole set as one archive.
  5. 5Put every file at the root of the site and paste the head tags. The README in the archive says the same.

How it works

Every browser requests /favicon.ico whether or not the page declares it, and an ICO is the only file that answers that path. This tool writes one: a real ICO container holding 16, 32 and 48 pixel images, built from the documented ICONDIR and ICONDIRENTRY layout, and read back from its own bytes before it is offered. If the file cannot be parsed again as an ICO the download is refused rather than handed over.

The three images inside are BMP rather than PNG, which is a deliberate choice with a reason on the page: PNG inside an ICO was added in Windows Vista and Internet Explorer 10 and older do not read it, while BMP is understood everywhere and only costs size, which at 48 by 48 is a few kilobytes. The BMP has the oddity that breaks naive writers, and this one gets it right: the height in the BITMAPINFOHEADER is DOUBLED, because the image is the top half and a one-bit mask is the bottom half, so a 32 by 32 icon declares a height of 64.

Around the ICO, the tool writes the seven PNGs a modern browser and the two mobile platforms actually ask for, each with a line saying what asks for it; a site.webmanifest with the 192 and 512 icons Chrome names in its installability criteria; and the head tags to paste, deliberately without a plain link for favicon.ico, since declaring a path the browser requests anyway is what makes some of them fetch it twice. Everything goes into one archive with a README saying where each file belongs, rather than firing one download per size on a timer.

The controls are checked. The corner radius is a percentage of the SIDE, so 50 percent is a circle, where the previous version multiplied by half the side and stopped at 50, making its largest corner a quarter of the side and a circular icon impossible. Colours go through this project's own CSS Color 4 parser, so hex, rgb(), hsl(), oklch() and the 148 colour names all work and anything unreadable is named rather than silently leaving the last good colour on the canvas. Every value from a shared link is range checked: the old page read them as parseInt(x) || default, so none of the three numeric settings could be set to zero, and a negative radius reached ctx.roundRect, which throws on one and took the whole tool off the page. And for a text icon the contrast between the glyph and the plate is measured, because at 16 pixels that ratio is the only thing carrying the icon.

Practical scenarios

  • New site launch

    Generate the common favicon PNG sizes a modern browser expects in one pass.

  • Quick emoji or text favicon

    Spin up a favicon from an emoji or a couple of letters without opening a design tool.

  • Rebranding

    Re-export all favicon sizes from a new logo image when the brand changes.

Frequently asked questions

What source should I start with?

For an image, a square PNG of at least 512 by 512, since the 512 icon is enlarged from whatever you give it. Text and emoji are drawn at 512 and downscaled, so they stay crisp at every size.

Does it produce a favicon.ico file?

Yes, and it is a real ICO rather than a renamed PNG: a 6-byte ICONDIR, three 16-byte directory entries and three BMP images at 16, 32 and 48 pixels. The tool parses the file back out of its own bytes before offering it, so a file that is not an ICO is never handed over.

Why BMP inside the ICO rather than PNG?

PNG inside an ICO was added in Windows Vista, so Internet Explorer 10 and older, and some desktop file managers, do not read it. BMP is understood everywhere and the only cost is size, which at 48 by 48 is a few kilobytes. Nothing larger than 48 goes in the ICO, because a browser that wants a bigger icon reads the PNGs instead.

Does it give me the HTML link tags?

Yes, in a panel you can copy and in head.html inside the archive. There is deliberately no plain link for favicon.ico: browsers request /favicon.ico whether or not you declare it, and declaring it as well is what makes some of them fetch it twice.

Why does my rounded icon look square on an iPhone?

Because iOS masks the touch icon to its own rounded square whatever the image says, and a radius you applied yourself gets clipped inside that mask. A square plate is the safe choice for the 180 pixel icon.

Related tools and how they differ

  • Image to Icon Generator: Needs a source image and exports a full app-icon set across web, iOS, Android, and Windows sizes with shape options, ZIP, and HTML link snippets.

Further reading

  • Favicon & App Icons: Complete Guide to Sizes and Formats11 min read

Private by design

This runs as client-side JavaScript. Keys, tokens, payloads, and other inputs never leave your device.