Skip to content

Favicons

Generate favicon.ico, apple-touch, PWA icons, and a web manifest from one image.

Drop a single high-resolution image in public/ and Simple Engine generates the rest at build time.

Source file

Put one of these in your project’s public/ folder:

  • favicon.svg — preferred when you have a vector mark
  • favicon.png — 512×512 or larger recommended

If both exist, SVG wins.

public/
├── favicon.svg   # or favicon.png
└── …

Generated assets

Built into your output directory (usually dist/):

File Purpose
favicon.ico Classic browser tab icon (16 / 32 / 48)
apple-touch-icon.png iOS home screen (180×180)
icon-192.png / icon-512.png PWA / Android icons
site.webmanifest Web app manifest (name from site.title)
icon.svg Copied when the source is SVG

Automatic head tags

Link tags are injected into every page’s <head> automatically:

<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">

The SVG <link> only appears when your source is SVG.

If your layout already includes rel="icon" or rel="apple-touch-icon", injection is skipped so hand-written markup wins.

Tips

  • Prefer SVG for crisp icons at any size; use PNG when you need pixel-perfect control.
  • Re-run simple build (or save while simple dev is watching) after changing the source — icons regenerate when the source is newer than the outputs.
  • Other files in public/ still copy through as usual; see Styling.