Free favicon generator

Drop a logo or a picture and get a ZIP with favicon.ico, the PNG icons for browsers, iPhone and Android, a web app manifest and the HTML to paste into your pages. The form calls the same free API your code can call: one POST, no API key and no account.

The whole API
curl -s -X POST https://aisenseapi.com/services/v1/image_favicon \
  -F "file=@logo.png" \
  -F "crop=trim" \
  -F "name=Example site"

{
  "storage_id": "4b4a8449-d135-4bfb-b1c3-e763093e07ab",
  "storage_url": "https://aisenseapi.com/services/v1/storage/4b4a8449-d135-4bfb-b1c3-e763093e07ab",
  "sha256_hash": "d39531425ba15d2512a04e53b5385d02db4f1d034abc9786b54dc0e1355cff76",
  "bytes": 63564,
  "expire_timestamp": 1790778560,
  "expire_datetime": "2026-09-30T14:29:20+00:00",
  "content_type": "application/zip",
  "filename": "favicon.zip",
  "operation": "image_favicon",
  "files": [
    "favicon.ico",
    "favicon-16x16.png",
    "favicon-32x32.png",
    "apple-touch-icon.png",
    "icon-192.png",
    "icon-512.png",
    "site.webmanifest",
    "head.html"
  ],
  "crop": "trim",
  "upscaled": true
}
No API key No account favicon.ico and PNG Web manifest Fit, trim or center

Try it in the browser

This form posts your image to the same endpoint and shows the stored result. The image is sent to aisenseapi.com, and the result is kept for 24 hours at a link that anyone with the link can open.

Drop an image here or click to choose one, or paste it with Ctrl+V. JPEG, PNG or WebP, up to 10 MB.

What is in the ZIP

FileSizeFor
favicon.ico16, 32 and 48 pixelsEvery browser, and anything that asks for /favicon.ico
favicon-16x16.png, favicon-32x32.png16 and 32 pixelsBrowser tabs
apple-touch-icon.png180 pixels, on whiteThe home screen of an iPhone or iPad, which shows no transparency
icon-192.png, icon-512.png192 and 512 pixelsAndroid and installed web apps
site.webmanifestThe web app manifest, with the name you give and the two large icons
head.htmlThe tags to paste into the <head> of your pages

Put the files in the root of your site and paste the tags from head.html:

<link rel="icon" href="/favicon.ico" sizes="48x48">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">

Fit, trim or center

Icons look best from a square picture of at least 512 pixels. When the picture, or what is left after trimming, is smaller, the largest icons are enlarged and the answer says upscaled: true. The picture is turned upright first, and its metadata is not copied into the icons.

The API

POST https://aisenseapi.com/services/v1/image_favicon with multipart/form-data.

FieldRequiredMeaning
fileyesThe picture: JPEG, PNG or WebP.
cropnofit, trim or center. fit when left out.
namenoThe site name for the manifest, at most 60 characters of plain text.

The icons are stored as favicon.zip, and the answer holds the Storage fields and what the ZIP holds:

FieldMeaning
storage_id, storage_urlWhere the result is. A GET on the URL returns it.
sha256_hash, bytesThe digest and size of the stored result.
expire_timestamp, expire_datetimeWhen the result is removed, 24 hours after it was stored.
content_type, filenameapplication/zip and favicon.zip.
operation, cropimage_favicon, and the crop that was used.
filesThe names of the files in the ZIP.
upscaledtrue when the picture was smaller than 512 pixels, so the largest icons are enlarged.

The example at the top of the page comes from a test run with a logo of 600 x 200 pixels, crop=trim and name=Example site. What was left after trimming was 301 pixels wide, so the answer says it was enlarged.

Anyone with the link can download the ZIP until it expires. Stored results count against the Storage budget of 80 MB per IP address per day.

Limits

Errors

A refused request stores nothing and answers with error. The endpoint's own refusals also carry fix, a sentence saying what to send instead.

StatusWhen
400A field is unknown or out of range, the upload is not one whole file, or ImageMagick cannot read the image.
405The method is not POST.
413The upload, its number of pixels or the result is over a limit.
415The body is not multipart/form-data, or the file is not a JPEG, PNG or WebP.
429More than 5000 requests from one IP address in 24 hours, or the day's Storage budget is used up.
503Two images are being worked on already, the work took more than 45 seconds, or the service cannot do it right now.

Questions

Is the favicon generator API free?

Yes. No API key, no account and no sign up. The limit is 5000 requests per IP address per 24 hours, and stored results count against the Storage budget of 80 MB per IP address per day.

What size should my logo be?

Square and at least 512 pixels. A smaller one works, but the largest icons are then enlarged.

Do I need to give a name?

No. Without one the manifest has an empty name, which you can fill in yourself.

Does it make an SVG favicon?

No. The icons are PNG, and favicon.ico holds the three small sizes as PNG images.

All image endpoints All free public APIs