cd /news/developer-tools/show-hn-photo-of-a-handwritten-alpha… · home topics developer-tools article
[ARTICLE · art-71667] src=github.com ↗ pub= topic=developer-tools verified=true sentiment=↑ positive

Show HN: Photo of a handwritten alphabet to installable TTF, open source

A free, open-source tool called Draw Your Font lets users turn a photo of their handwritten alphabet into an installable TTF, WOFF, or WOFF2 font entirely on their local machine, with no uploads or credits required. The npm-based CLI, created by Danilo Znamerovszkij, uses adaptive thresholding, blob detection, and potrace vectorization to build fonts, with optional AI vision via Claude for labeling and critique. The project is MIT-licensed and aims to replace paid services like Calligraphr by running all processing locally.

read3 min views1 publishedJul 24, 2026
Show HN: Photo of a handwritten alphabet to installable TTF, open source
Image: source

Turn a photo of your handwriting into a real font (TTF/WOFF/WOFF2) - free, open source, no uploads, no credits.

Draw your alphabet on paper. Take a photo. Get your font.

This is a real one-shot result: dim light, spiral binding, page shadow. One photo in, installable font out.

npx skills add danilo-znamerovszkij/draw-your-font

Then in Claude Code, just talk:

"here's a photo of my handwriting - make my font"(drag the photo into the terminal)

Claude finds your letters in the photo, labels them with vision, builds the font, shows you a preview, and critiques its own work. Iterate by talking:

"make it rounder"/"a bit bolder"**"the g looks bad"- it shows you the crop and fixes or asks for a re-shoot*"give me woff2 + css for my website"**"how readable is it?"*- a legibility score and the two worst letter pairs

No photo yet? Say "give me a font template" and you get a printable PDF grid: write your alphabet with a dark pen, photograph the pages, and hand them back. Messy freeform photos work too. Napkins, notebooks, spiral binding, bad lighting: that's what the vision step is for.

Everything runs locally on your machine. Your handwriting never leaves it.

The skill is a thin layer over a deterministic npm CLI. It works on its own when you can tell it what you wrote:

npx draw-your-font make photo.jpg --chars "ABCabc" --name "My Hand"

npx draw-your-font make page1.jpg page2.jpg --charset minimal --name "My Hand"

Pure npm, zero system dependencies: no FontForge, no ImageMagick, no potrace binary. Works on macOS / Linux / Windows wherever Node ≥ 18 runs.

Command What it does
template
printable A4 PDF grid (`--charset minimal spanish` )
segment <photos…>
find letters → crops + numbered contact sheet + blobs.json
build
labeled crops → font (--labels / --chars / --charset )
make <photos…>
segment + build in one shot
preview
render any text with the built font

Refinement flags: --smooth 0..2

(rounder curves), --weight=-2..2

(thinner/bolder), --formats ttf,woff,woff2,css

(web-ready + @font-face

snippet). Run draw-your-font --help

for everything.

photo ──► adaptive threshold ──► blob detection ──► label (Claude / you / template order)
      ──► potrace vectorize ──► shared em-square metrics ──► TTF/WOFF/WOFF2 + preview

The craft is in the metrics step: every character has a vertical band in a shared 1000-unit em square (cap height, x-height, descender depth), so your g

hangs below the line and your o

stays small. That's what makes it feel like a font instead of a ransom note. Vectorization is potrace, the same engine inside FontForge and Inkscape. AI never draws your letters; it only finds, labels, and judges them.

Who owns the font? You. 100%, commercial use included. It's your handwriting.

Why is this free when Calligraphr charges $8/month? Their cost is servers and a browser editor. Here your machine does the work and the agent is the editor.

Kerning, ligatures, letter randomization? v2. The pipeline (fonttools calt

) is planned; the current output is a clean single-variant font.

MIT. Draw something.

── more in #developer-tools 4 stories · sorted by recency
── more on @draw your font 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-photo-of-a-h…] indexed:0 read:3min 2026-07-24 ·