Favicon Tools检测创建
Frameworks

最适合 Next.js 的 Favicon 生成器

Next.js 不使用你手写的 link 标签。App Router 从 app 目录读取名为 icon、apple-icon 和 favicon 的文件,并在构建时注入标记。合适的生成器恰好交给你这些文件。

在 Next.js 上真正重要的是什么

App Router 从文件而非标签解析图标。app 目录里名为 icon、apple-icon 或 favicon 的文件会被自动定尺寸并链接。所以对生成器而言,决定性的问题是:它的输出是否按这套约定命名并放置文件,还是丢给你一堆零散的 PNG 和一组框架并不想要的 link 标签。

Pages Router 则不同:在那里你把文件放进 public,并在自定义的 Head 里声明标签。一个知道你处在这两者中哪一个的生成器,能替你避开那个会让 Next.js favicon 悄无声息什么都不输出的错误。

在 Next.js 上重要的评判标准

该看什么为什么它在 Next.js 上重要这里的生成器如何做到
App Router 文件名图标从 app/icon、app/apple-icon、app/favicon.ico 解析按这套约定命名并放置导出的文件
无需手写标签框架替你注入 link 标签略过通用工具会加上的那些多余标签
manifest 与 AndroidPWA 安装需要完整的尺寸范围导出 manifest.json 以及 192 和 512 的 Android 图标
感知路由方式App 和 Pages 解析图标的方式不同安装指引覆盖两种路由,而不只是其中一种

文件放在哪里(App Router)

  • app/
    • favicon.icoaddServed at /favicon.ico, tag auto-injected
    • icon.pngaddSized and linked at build
    • apple-icon.pngadd180x180 home screen icon
  • public/
    • manifest.jsonaddPWA install metadata
    • android-icon-192x192.pngadd
    • android-icon-512x512.pngadd

标记为 add 的文件,是生成器导出的那些。其余一切都是一个原装的 Next.js 项目。

真正的生成器 vs 仅靠 Next.js 文件约定

一个感知 Next.js 的生成器

Start here

推荐

  • 导出内容匹配 app 目录约定
  • 产出 favicon.ico、每一种 PNG 尺寸和 apple-icon
  • 为 PWA 安装包含 manifest.json 和 Android 尺寸
  • 一张源图,每种尺寸都渲染正确

自己丢一个文件进去

  • 单个 app/favicon.ico 只覆盖标签页,别的都没覆盖
  • 没有 apple-touch 图标,所以 iOS 主屏幕只能回退
  • 没有 manifest,所以 Android 安装看起来没做完
  • 手动缩放一张图,很少能在 16px 下读得清

在 Next.js 里 favicon 需要 link 标签吗?

在 App Router 里不需要。app 目录里名为 favicon.ico、icon 和 apple-icon 的文件会在构建时被自动读取、定尺寸并链接。一个还额外输出手写 link 标签的生成器,是在添加框架已经产出的标记。Pages Router 是例外,你要在自定义 Head 里声明标签。

为 Next.js,生成器应该导出哪些尺寸?

标签页用 favicon.ico、iOS 主屏幕用 180x180 的 apple-icon,以及从 manifest.json 引用、用于 Android 和 PWA 安装的 192 和 512 PNG。先把图形设计成在 16px 下也成立,因为那才是决定它读不读得清的尺寸。

The step-by-step for Next.js

You've picked the tool. Here's the exact install for Next.js.

Choosing for a different stack?