How a photo and a sentence become mail.
Four steps between the photo you add and the files that go to the printer and the plotter. Here's each one.
Your photo becomes the front
The photo is cover-cropped to the postcard's 3:2 frame — the same math a phone gallery uses for "fill" thumbnails — so nothing gets stretched or squished, just cropped to fit. It's drawn straight onto a canvas at postcard resolution.
Nothing leaves your browser to do this: it's <canvas> compositing, running client-side.
The note runs through a humanization engine
Your typed note is converted, letter by letter, into pen strokes using a single-stroke font — the kind engraved for pen plotters, where every letterform is one continuous line rather than a filled shape. Spacing is ink-aware: each letter is placed far enough past the actual ink of the previous one that flourish-heavy scripts never collide or merge, with a wider gap reserved between words than between letters.
On top of that guaranteed spacing, small randomized jitter, tremor, and baseline wobble get layered in — a little rotation and scale per letter, a wandering baseline, a slight tremor along each stroke — so the same note drawn twice never looks quite identical, the way real handwriting doesn't either.
Or trace your own handwriting
Upload a .ttf or .otf font file instead of using one of the five bundled hands, and PenPigeon rasterizes each letterform and thins it down to a one-pixel-wide skeleton — the center-line a pen plotter needs, rather than a filled outline. That skeleton is walked and converted into the same stroke format as the bundled fonts, so it goes through the exact same spacing and jitter pipeline afterward.
This step runs in a background worker, since tracing a whole alphabet is the heaviest part of the whole pipeline.
Two files come out the other end
The finished postcard isn't one flat image. It's a photo file for the front, an address-and-blank-message-area file for the back, and a standalone message.svg containing nothing but the plotted stroke path — width, position, and order preserved, exactly as a pen plotter driver would need it.
This is a real plotted path, not a recording
The line below is genuine engine output — the same stroke data a physical pen plotter would receive — drawn in at the pace a pen would actually move.
Built for two very different machines
A photo printer and a pen plotter want completely different inputs — so PenPigeon hands each one exactly what it needs.
Photo printer
Gets two flat, full-bleed raster images: your photo for the front, and the address side with the message area left intentionally blank.
front.png · back.pngPen plotter
Gets one vector file — a single continuous stroke path with position, width, and drawing order all preserved, ready to hand to plotting hardware.
message.svgYou
Gets a composite preview showing exactly how the finished, mailed postcard would look once both machines had done their part.
preview.pngEvery step above runs the moment you start one
No account, no waiting on a server — the wizard is right here.