WeblixTools
Universal Favicon 2.0 • Dynamic Dark/Light SVG & iOS 18 Tinted Icons

Next.js App Router Favicon Generator

Full compatibility with Next.js App Router metadata. Zero configuration required.

Presets:

Icon Configuration

Primary Color
Gradient To
Corner Squircle Radius22%
Square (0%)Apple Squircle (22%)Pill / Circle (50%)
Glyph Padding / Margin12%
Dynamic SVG Dark Mode Overrides

When a user toggles their OS or browser into Dark Mode, this background color activates automatically via CSS:

#0f172a
3D Interactive Master Preview
High-Res Retina Canvas (512x512)

Rendered via zero-latency HTML5 Canvas API with sub-pixel antialiasing and continuous-curvature squircle clipping.

Vector SVGMulti-Res .ICOiOS 18 Xcode

Live Browser Tab Simulator

WeblixTools – Production App
https://weblixtools.com

Mobile Home Screen Simulator

iOS 18 & Android 14+
Standard1024x1024
iOS 18 DarkDark Mode
iOS 18 TintedMonochrome
Android RoundAdaptive

Framework Implementation

Next.js 14 / 15 / 16 (App Router)
// Next.js 14 / 15 / 16 (App Router)
// Simply place these generated files in your 'app/' directory:
// 1. app/icon.svg           (Generated dynamic dark/light vector favicon)
// 2. app/apple-icon.png     (180x180 Apple Touch Icon)
// Next.js serves them automatically with zero additional code!
HTML5 / Astro / Vite
<!-- Modern HTML5 Head Tags -->
<link rel="icon" href="/icon.svg" type="image/svg+xml" sizes="any" />
<link rel="icon" href="/favicon.ico" sizes="32x32" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<link rel="manifest" href="/site.webmanifest" />
Latest Engineering Articles

Learn Modern Favicon & App Icon Engineering

Explore All Guides

Adding icons to a Next.js App Router project

The Next.js App Router has file-based metadata for icons. Put favicon.ico, icon.svg (or icon.png) and apple-icon.png directly in the app/ directory, and Next.js adds the correct <link> tags to every page for you. You don't need to edit the layout file.

This generator's download uses standard web file names. For the App Router, copy favicon.ico and icon.svg into app/ as they are, and rename apple-touch-icon.png to apple-icon.png. The android-chrome PNGs and site.webmanifest go in public/, and you link the manifest from your root layout metadata.

If you still use the Pages Router, put every file in public/ and paste the HTML snippet from the studio into _document.tsx.

How to use it

  1. 1Generate your icon and download the ZIP.
  2. 2Copy favicon.ico and icon.svg into app/, and rename apple-touch-icon.png to apple-icon.png.
  3. 3Move site.webmanifest and the android-chrome PNGs into public/.
  4. 4Add manifest: "/site.webmanifest" to the metadata export in app/layout.tsx.

Modern Icon Packages vs. ICO/PNG-Only Converters

Web standards have evolved. A single fixed-size PNG or ICO looks soft on high-density screens and can disappear on dark browser tabs.

FeatureWeblixToolsBasic ICO/PNG converter
Dynamic SVG Dark/Light Mode✓ Yes (Native CSS Media)Fixed colours only
Apple iOS 18 Light/Dark/Tinted✓ Complete AppIcon CatalogSingle 180 px PNG
Where Your Image Is Processed✓ 100% In-Browser (Zero Uploads)Varies; often uploaded to a server
Framework-Ready Snippets✓ HTML, Next.js App RouterGeneric HTML tags
PWA Web Manifest✓ site.webmanifest includedUsually not included

Frequently Asked Questions

Where do I put the downloaded files in a Next.js project?

Place favicon.ico, icon.svg, and apple-icon.png directly in your /app root directory. Next.js handles serving and caching automatically.

Why is my old favicon still showing in Next.js?

Delete any old favicon.ico in public/ (it can shadow the app/ version), restart the dev server and hard-reload. Browsers cache favicons for a long time.

Can I generate the icon dynamically with icon.tsx?

Yes. Next.js supports app/icon.tsx with ImageResponse, but a static icon.svg is smaller, supports dark mode and needs no server rendering.

See all FAQs →