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.
$ npx -y skills add danilo-znamerovszkij/draw-your-font --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: danilo-znamerovszkij/draw-your-font
What's inside
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, invoke the skill and hand it your photo:
/draw-your-font "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:
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:
# freeform photo, you know the order you wrote in:
npx draw-your-font make photo.jpg --chars "ABCabc" --name "My Hand"
# β MyHand.ttf - double-click, install, done.
# best quality: print a template, fill it, photograph:
npx draw-your-font template -o template.pdf --charset minimal # or: spanish
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.
.claude/
skills/
draw-your-font
.github/
workflows/
pages.yml
.gitignore
assets/
hero.png
LICENSE
package-lock.json
package.json
README.md
site/
site-redirect/
index.html
DansHand.woff2
demo.js
demo.src.js
draw_your_font.mp4
favicon.svg
hero.png
index.html
skills/
draw-your-font/
references/
troubleshooting.md
scripts/
resolve-cli.js
SKILL.md
src/
assemble.js
blob-core.js
capture.js
charsets.js
cli.js
index.js
metrics.js
preview.js
segment.js
template.js
trace.js
winding.js
test/
e2e.js
wrangler.jsoncFAQ
draw-your-font is a Claude Code plugin with 1 hand-picked skill for content work, indexed on Flowy. Install it with the command on its page. It includes draw-your-font. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.