Best Free Favicon Generator
Make a full favicon set — .ico, PNG sizes and apple-touch-icon — from one image. Free, with the HTML.
How it works
- Upload. Choose a logo or image, ideally square (up to 100 MB).
- Generate. Press Generate — a full set of icon sizes plus a .ico and apple-touch-icon is built.
- Download ZIP. Get a ZIP with every icon and the HTML snippet to drop into your site.
About this tool
Favicon Generator turns an image into a complete favicon set for a website. From one upload it produces a multi-resolution favicon.ico, a range of PNG icons (16px up to 512px), and an apple-touch-icon for iOS home screens, all bundled into one ZIP. A short README in the ZIP gives you the exact <link> tags to paste into your site's <head>. A square source image works best. No watermark, no signup, processed in memory and discarded.
What people use it for
- Add a favicon to a new website
- Generate all the icon sizes modern browsers expect
- Create an apple-touch-icon for iOS home screens
- Refresh a site’s favicon from an updated logo
Developer API
Automate this tool from your own code. Send a POST request to the endpoint below and get the same result the web tool produces. It is rate-limited per IP and needs no signup — API keys for higher limits are coming.
https://best.free/api/tools/favicon-maker/
| Parameter | Example | Required | Notes |
|---|---|---|---|
file (file) |
logo.png |
Yes | Square image works best, ≤25 MB. |
curl -X POST https://best.free/api/tools/favicon-maker/ \
-F 'file=@logo.png' \
-o favicons.zip
import requests
files = {"file": open("logo.png", "rb")}
r = requests.post("https://best.free/api/tools/favicon-maker/", files=files)
with open("favicons.zip", "wb") as out:
out.write(r.content)
const fd = new FormData();
fd.append("file", fileInput.files[0]);
const r = await fetch("https://best.free/api/tools/favicon-maker/", { method: "POST", body: fd });
const blob = await r.blob(); // the favicons.zip
Response: A ZIP of favicon PNGs, an .ico and apple-touch-icon.