Sifency Tools

Next.js favicon and metadata

Next.js reads icons from its metadata export. Make the files here, drop them in the public folder, and paste the generated code into your root layout so every route gets the right links. Nothing is uploaded: every file is made in your browser.

Live preview

Making your icons…

No files yet.

Source

Icon source

One to 3 characters, such as S or Ab.

rgb(255, 255, 255) · hsl(0, 0%, 100%)

Style

Background

rgb(0, 0, 0) · hsl(0, 0%, 0%)

Circle
14%

Rounding applies to the browser and Android icons. The touch icon and the maskable icon are always full squares.

Device preview

Making your icons…

Your files

Your files appear here as soon as the icon is ready.

Site details and code

Shown when someone installs your site as an app. Up to 45 characters.

Used under the icon on a home screen. Up to 12 characters.

Where you will put the files on your site, such as / or /icons/.

Add this to your root layout (app/layout.tsx).

import type { Metadata, Viewport } from "next";

export const metadata: Metadata = {
  icons: {
    icon: [
      { url: "/favicon.ico", sizes: "48x48", type: "image/x-icon" },
      { url: "/favicon-16x16.png", sizes: "16x16", type: "image/png" },
      { url: "/favicon-32x32.png", sizes: "32x32", type: "image/png" },
    ],
    apple: [
      { url: "/apple-touch-icon.png", sizes: "180x180", type: "image/png" },
    ],
  },
  manifest: "/site.webmanifest",
};

export const viewport: Viewport = {
  themeColor: "#000000",
};

More favicon ideas

How it works

  1. Choose where the icon comes from

    Type one to three characters, pick an emoji, choose a simple shape, or drop in your own PNG, JPG, WebP or SVG. Nothing is uploaded; the picture stays in this tab.

  2. Style it

    Pick a flat colour or a soft gradient, round the corners, and set the padding. The browser tab icon, the phone home screen icon and the Android icon all update as you change a setting.

  3. Check every file

    Each file is listed with its size and what it is for, so you can see that the touch icon fills its whole square and the Android icon keeps your logo inside the safe circle.

  4. Download and paste

    Download the package as one ZIP, with a plain-language README and ready-made snippets, or take the files one by one. Upload the icons to the folder you typed under Site details, then paste the lines for your HTML, Next.js or WordPress head.

Questions about a Next.js favicon

How do I make a Next.js favicon?

The page opens with the letters "N"; change it, the colours, the rounding and the padding as you like, and every file updates at once. Then open Site details and code, choose Next.js and copy it. The code already uses the folder /. Keep the files in public at the root. Remove any old favicon.ico from the app folder, or Next.js may add its own icon link as well.

Do I need the metadata code if I add files to the app folder?

No. Next.js also picks up files named favicon.ico or icon.png inside the app folder by itself. The metadata route used here lists every size and the manifest explicitly.

Where do I put the files for a Next.js favicon?

The folder is set to the site root, so put the files straight inside the public folder of your project. They are then served from the top of your domain.

Is anything uploaded when I make a Next.js favicon?

No. The icons for your Next.js favicon are drawn by your own browser from the settings you pick, so nothing is sent to a server, and the page keeps working offline once it has loaded.

Next step

Show your icon and your site in a device frame

Icons are ready, so show the product itself. Place a screenshot in a clean phone, laptop or browser frame, sized for marketplace and social previews.

Make a mockup
View all tools

About these tools

Small tools, made by Sifency

Sifency is a small studio that builds themes, plugins and web apps. These tools began as the things we kept needing ourselves, so we tidied them up and left them open for everyone. There is nothing to sign up for.