Iconotype

A Fontello alternative that builds locally

Fontello is open source and its CLI is genuinely useful — but the CLI posts your config.json to fontello.com and downloads what comes back, so a build needs the internet and someone else's server to be up. Iconotype builds the font on the machine that asked for it.

Open the web app The CLI VSCode extension

Moving across, honestly

Fontello's config.json is not read yet — if that is what you have, say so on the issue tracker and it is a reasonable thing to add. What works today:

If your font is already in production, take the codepoints with you: put them in codepoints.lock and every future build honours them, so the classes in your stylesheets keep rendering what they rendered yesterday.

What is actually different

IconotypeFontello
Where the build happens your machine, or your CI runner fontello.com, via its API
Works with no network yes no
Inside your editor VSCode extension: completion, previews, rename, usage
SVG repair before the build 13 stages, 31 reported findings, visual regression tested
Codepoint drift locked, and iconotype diff fails the PR config holds codes; nothing checks them
Reproducible output same input, same bytes depends on the service
Licence MIT MIT

Written to be checkable rather than flattering — Fontello's client and server are both open source, and self-hosting its server is a real option if that is the part you mind. If anything here is wrong or has changed, say so.

The build, in one command

# from a folder of SVGs
npx @iconotype/cli init --input icons/ --fonts-dir app/fonts --styles-dir app/css
npx @iconotype/cli build --input app.iconotype.json

Out comes woff2, woff, ttf, the stylesheet, and whatever else the project asks for: SCSS or LESS variables, a JSON map, a sprite sheet, a .d.ts of every icon name, or a Flutter IconData class. Identical bytes are never rewritten, so a no-op build leaves the working tree clean.

Questions

Can Iconotype read a Fontello config.json?
Not yet. Import the SVGs instead, and carry your codepoints over in codepoints.lock so existing stylesheets keep working.
Does it need a server?
No. The font is built where you run it — a browser tab, a desktop app, a CI runner — and nothing is uploaded.
Can it run in CI?
That is what it is for. iconotype build is deterministic and iconotype diff fails a pull request that moves or removes a codepoint.
What does it do about broken SVGs?
Outlines strokes, bakes transforms, applies clips and masks, converts even-odd fills — and reports anything it cannot represent rather than mangling it quietly.

Point it at your icons

Nothing to install, and nothing leaves your machine.