Typed text,
handwritten.

Paste anything. Pick a hand, a paper and a pen. Get back a page that looks written rather than printed.

One HTML file. No build step, no account, no upload — your text never leaves the browser.

Open the tool View source
paper ruling
rendered live by the same code as the tool

What it actually does

01Eight hands

Neat print through to a hurried scrawl, plus plain sans and serif when you want them.

02Real paper

Cream, cotton white, ivory, legal yellow and more. Ruled, grid, small grid, dots or blank, with an optional margin and spiral.

03Style any selection

Select a phrase and give it its own font, ink, a highlighter, bold, italic, underline or strikethrough.

04Draw on it

Sketch boxes, ovals, circles, lines and arrows onto the page, in the same wobbly hand. Every one of these marks is drawn by the tool.

05Pages that flow

Keep typing and new sheets appear. Delete and they go away again.

06PDF and PNG

Multi-page PDF written byte by byte, with no library behind it. Or grab a PNG.

Why it doesn't look like a font

A handwriting font on its own still reads as a font, because every e is identical and every baseline is perfectly flat. So each character is drawn on its own with:

  1. its own slight rotation — no two letters lean the same way
  2. vertical drift, per line and per character, so the baseline breathes
  3. its own opacity, which reads as pen pressure
  4. uneven spacing, because nobody writes on a grid
All of it runs through a seeded random generator, so the same seed always produces the same page. Change the seed for a different hand. Keep it to re-export something exactly as it was.

Open source

MIT licensed. About 400 lines of JavaScript in a single file, with no dependencies and no build step. Clone it, open app/index.html, done.

Star it on GitHub