---
title: Best Favicon Generator for Next.js
description: Next.js resolves icons from files in the app directory, so the best favicon generator is one whose export matches that convention exactly. What to look for, and where the files go.
canonical: https://favicontools.com/best/favicon-generator-for-nextjs
---

# Best Favicon Generator for Next.js

Next.js does not use link tags you write by hand. The App Router reads files named icon, apple-icon, and favicon from the app directory and injects the markup at build time. The right generator hands you exactly those files.

## What actually matters on Next.js

The App Router resolves icons from files, not tags. A file named icon, apple-icon, or favicon in the app directory gets sized and linked automatically. So the deciding question for a generator is whether its output names and places files to that convention, or hands you loose PNGs and a set of link tags the framework does not want.

The Pages Router is different: there you place files in public and declare the tags in a custom Head. A generator that knows which of the two you are on saves you the one mistake that makes a Next.js favicon silently emit nothing.

## The criteria that matter on Next.js

| What to look for | Why it matters on Next.js | How the generator here does it |
| --- | --- | --- |
| App Router filenames | Icons resolve from app/icon, app/apple-icon, app/favicon.ico | Exports files named and placed to that convention |
| No hand-written tags | The framework injects the link tags for you | Skips the redundant tags a generic tool would add |
| Manifest and Android | PWA installs need the full size range | Exports manifest.json plus the 192 and 512 Android icons |
| Router-aware | App and Pages resolve icons differently | Install guidance covers both routers, not just one |

## Where the files go (App Router)

```
app/
  favicon.ico  <- add  # Served at /favicon.ico, tag auto-injected
  icon.png  <- add  # Sized and linked at build
  apple-icon.png  <- add  # 180x180 home screen icon
public/
  manifest.json  <- add  # PWA install metadata
  android-icon-192x192.png  <- add
  android-icon-512x512.png  <- add
```

Files marked add are the ones the generator exports. Everything else is a stock Next.js project.

## The generator vs Next.js file conventions alone

### A Next.js-aware generator (recommended)
recommended
- Export matches the app-directory convention
- Produces favicon.ico, every PNG size, and apple-icon
- Includes manifest.json and Android sizes for PWA installs
- One source image, every size rendered correctly

### Dropping one file in yourself
- app/favicon.ico alone covers the tab and nothing else
- No apple-touch icon, so iOS home screens fall back
- No manifest, so Android installs look unfinished
- Resizing one image by hand rarely reads at 16px

### Do I need link tags for a favicon in Next.js?

Not in the App Router. Files named favicon.ico, icon, and apple-icon in the app directory are read, sized, and linked automatically at build time. A generator that also emits hand-written link tags is adding markup the framework already produces. The Pages Router is the exception, where you declare the tags in a custom Head.

### What sizes should the generator export for Next.js?

favicon.ico for the tab, a 180x180 apple-icon for iOS home screens, and 192 plus 512 PNGs referenced from manifest.json for Android and PWA installs. Design the mark at 16px first, since that is the size that decides whether it reads.
