Handwrite Open the app

Real handwriting,
written by your 3D printer.

Type a letter, pick a handwriting, and get G-code that writes it with a pen on a Bambu Lab printer. A neural network draws every word stroke by stroke, so letters join and vary like a person's, not like a font.

  • Runs in your browser
  • Works offline
  • Nothing to install
  • Every move safety-checked

How it works

Four steps from text to paper

Everything happens in the browser on your computer. Your text and handwriting never leave it.

Type your text

Type or paste it in. The app tells you how many words fit on a page; longer text continues on page 2, 3 and so on.

Pick a handwriting

Choose from 45 styles. Neatness and line wobble make it tidier or more casual.

Set printer and paper

Choose your printer and paper size, then drag the paper on the build-plate preview to where it will sit.

Save and print

Click Save G-code and run the file like any other. The printer pauses so you can place the paper and attach the pen.

A quick tour of the app

The Handwrite app: text box, handwriting styles and sliders on the left, the build-plate preview with the written page on the right 123 456 7
  • 1Text. Type or paste what you want written. Characters the model can't write are listed under it.
  • 2Handwriting. Click a style to use it.
  • 3Sliders and sizes. Neatness, line wobble, word spacing, letter size and line spacing. What each one does.
  • 4Build-plate preview. The page as it will be written. Drag the paper, scroll to zoom, click a word to write it again.
  • 5New version / Save G-code. New version rewrites the same text with fresh handwriting. Save G-code makes the file.
  • 6Printer settings. The pen offset, pen heights, pauses and speeds.
  • 7Time estimate. How long the page takes, including the pauses.

Before your first print

Calibrate the pen offset

The pen sits a little beside the nozzle, usually in front of it. The app needs to know by how much, so the writing lands where the preview shows it and the pen never runs off the front of the plate. If BambuPlot already works for you, just copy its “tool offset” into Printer settings → Pen offset. Otherwise, print the offset test once:

BACK OF PRINTER A4 PORTRAIT push into this corner aimed drawn 87mm 100.5 mm FRONT · YOU STAND HERE

Save your G-code again after changing the offset: files saved before still use the old one. The test is the same for every printer; on an A1 mini the short mark is aimed at 90 mm instead of 105 mm.

Placing the paper

Reading the preview

The preview shows the build plate from above with the front of the printer at the bottom, drawn where the pen tip can reach. Drag the paper to where it will sit, or click Place paper automatically to put it where the pen reaches so writing starts at your top border.

  • Orange dashes: the edge of the area the pen can reach.
  • Blue dashes: the writing area, inside your borders.
  • Grey: part of the page the pen can't reach (past the front of the plate). Text continues on the next page instead.
  • Red dashes: where you'll slide the paper back, only with Long pages ticked.
The easy way to line it up: in pause 1 the head stops with the pen holder right above where the first letter goes. Put the paper so that spot matches the preview, then tape all four corners. The paper must not move while the pen writes.
pen can't reach ↓ the pen stops here in pause 1 FRONT OF PRINTER

Running the file

What happens when you print

Send the .gcode file to the printer the same way as other plain G-code (for example on the SD card). The pauses are timed: the printer carries on by itself when the time is up. With Printer sounds on, it plays a tune at each pause.

FRONTBACK pen out of the holderthe nozzle touches the plateto find its height pause 1 · 30 splace the paper underthe pen holder, tape it pause 2 · 30 sslide the pen down tothe paper, then clamp it

Change the pause lengths in Printer settings → Pauses during printing. For long pages with Long pages ticked, there's a third pause: the pen stops over the last mark it wrote; slide the paper toward the back until that mark is right under the pen tip.

Do a dry run first. Tick Printing → Dry run and save: the pen is clamped as usual, then stays 8 mm above the paper the whole way. Watch it with a hand near the stop button.

Reference

What each setting does

The handwriting settings are on the left of the app. Every gap is an average: real handwriting never repeats exactly, so each word and line still varies a little, more with higher line wobble.

Neatness

How carefully the hand writes. Higher is tidier and more regular; lower is messier, with more variation between letters. Each style starts at the neatness it looks best at.

0 to 2

Line wobble

How human the page layout is: lines that slope and bow a little, ragged starts, words that drift in size and slant. 0 gives ruler-straight lines.

0 to 2 · default 1

Word and line spacing

Word spacing is the average gap between words, in letter heights. Line spacing is the distance from one line to the next, in mm; it must be at least 1.5 × the letter size.

words 1.0 · lines 8 mm

Letter size

The height of small letters like a, e and x (the x-height), in mm. Capitals and tall letters are about twice that.

1 to 20 mm · default 2.8

Pen heights

Writing height is the nozzle's height while the pen is down; the pen is clamped touching the paper at this height in pause 2. Pen-up height is used between strokes, about 2 mm higher.

10 mm · 12 mm

Pen offset

Where the pen tip is compared with the nozzle. X is left/right (negative = pen to the left); Y is front/back (negative = pen in front). Measure it with the offset test.

e.g. X −4.5 · Y −27

Everything else

SettingWhat it doesDefault
Page (left panel)
PrinterWhich printer the file is for. Its bed size is used for every safety check, so only run the file on that printer.Bambu Lab A1
Paper · OrientationA4, A5, A6, US Letter, a 4×6 in card or Custom, portrait or landscape.A5 portrait
Border ↔ / ↕Blank margin left and right (↔) and top and bottom (↕) of the page.15 mm · 15 mm
Printer soundsBambu's own start and finish tunes, plus a tune at each pause. A1, A1 mini and P2S only.On
Long pagesFor pages longer than the pen reaches (A4 on an A1). Off: the text continues on the next page. On: the printer pauses mid-page so you can slide the paper back.Off
LinesPlain paper, or the ruling of lined paper (6 to 10 mm). With lined paper, measure where its first printed line (↓ from the top edge) and margin line (→ from the left edge) are: every line of writing then sits on a printed line. Picking one also sets letters that suit it (2.3 mm for 8 mm lines).Plain paper
Header · Page numbersA line at the top of every sheet: your header text on the left, “Page 1”, “Page 2”… on the right. Each sheet's is written afresh.Off
Printing (left panel)
Dry runSaves files that do everything except write: the pen is clamped as usual, then stays 8 mm above the paper.Off
Start at lineSaves this page from that line on, after the pen ran out or the run stopped. Lines above it turn grey in the preview and aren't written again.1
New versionWrites the same text again with fresh handwriting and layout. Use it if a word comes out garbled.
Save G-code · Save all pagesSaves the page on screen, or every page as a zip (1_page.gcode, 2_page.gcode, …). Print them in order with a fresh sheet each time.
Printer settings → Pauses during printing
Pause 1: place the paperHow long the head waits above the first letter so you can place and tape the paper.30 s
Pause 2: attach the penHow long it waits at writing height so you can slide the pen down to the paper and clamp it.30 s
Pause 3: slide the paperOnly with Long pages on: time to slide the paper back between passes.45 s
Printer settings → Speeds
Writing speedPen speed while writing. 1500 is about the speed of real handwriting; each stroke varies a little.1500 mm/min
Travel speedSpeed of pen-up moves between strokes.6000 mm/min
Up/down speedHow fast the pen is lifted and lowered.600 mm/min
Pen settle timeA tiny wait after every pen down and up so the ink starts and stops cleanly. Raise it if strokes start faint.60 ms
Printer settings → Custom sizes
Bed width, depth, max heightOnly used when the printer is Custom.
Paper width, heightOnly used when the paper is Custom.

More you can do

Lined paper, two pens and other extras

Small things that save a page, or make it look more like your own notebook.

Lined paper

Under Page → Lines, pick your paper's ruling, then measure two things with a ruler: how far its first printed line is below the top edge, and where its margin line is. Every line of writing then sits on a printed line, right of the margin, and the letter size drops to suit the lines if it was bigger.

Underline, and a second pen

Type _like this_ to underline words with a hand-drawn line, and *like this* to write them with a second pen, a red one say. The printer writes everything in the first pen, then lifts so you can swap pens, and writes the rest.

Header and page numbers

Fill in Page → Header (your name and the date, say) and tick Page numbers. Every sheet starts with that line, written afresh each time, with “Page 1”, “Page 2” and so on at the right.

Write one word again

Point at a word in the preview and click it: just that word is written again, and the rest of the page keeps its handwriting. Click again for another version, or use New version for the whole page.

Start again from a line

If the pen runs dry or the run stops, leave the paper taped down, fit a new pen and set Printing → Start at line to the line it stopped on. The lines above it turn grey and aren't written again.

Dry run

Tick Printing → Dry run to save a file that does everything except write: the pen is clamped as usual, then stays 8 mm above the paper. Check where it goes before you use any ink.

Every file also switches the nozzle heater off right after homing, so the hotend stays cold next to your pen holder.

Troubleshooting

Questions

The pen goes off the front of the plate on the last lines

The pen offset is missing or wrong. Run the offset test, save the offset, then save your G-code again: files saved before still use the old offset.

Not all of my text is on the page

It continues on the next page. Use the arrows above the preview to see each page and Save all pages to get them all. For one long A4 page instead, tick Long pages and slide the paper when asked.

A word looks garbled or has a stray mark

The model occasionally slips. Click that word in the preview to write just it again, or New version for the whole page. Raising Neatness a little also helps.

The pen ran out halfway down the page

Leave the paper taped where it is. Fit a new pen, set Printing → Start at line to the line it stopped on and save again: the new file writes from that line on, starting over its first letter.

Some characters are missing

The model knows letters, digits and ! " # ' ( ) , - . : ; ?. Accents are dropped (é becomes e), capital Q, X and Z are written lowercase, and anything else is skipped. The app lists what it skipped under the text box.

The nozzle shows a temperature

The G-code never heats anything, and it switches the nozzle heater off right after homing. Any heat you still see is left over from a print and cools down by itself. If your pen holder is printed in PLA, keep it away from the hotend.

Is the G-code safe for my printer?

Every setting is range-checked, and every move in the file is checked against the chosen printer's bed (and the P1/X1 filament-cutter corner) before it is saved. If anything is unsafe, the app refuses to save and says why. Only run a file on the printer named at the top of it, and do a dry run first.

Ready to write?

It opens in your browser and remembers your settings.

Open the app