Ferramentas Guias
Design Gratuito Sem cadastro

Handwriting Simulator

Transform typed text into a realistic handwriting-style image and download as PNG.

Carregando ferramenta…

Sobre esta ferramenta

Type any text and see it rendered in a realistic handwriting style on an HTML canvas. Choose from two Google Fonts handwriting typefaces (Caveat and Indie Flower), adjust ink color, font size, line spacing, and paper style (plain, lined, or grid). The simulator applies subtle per-character randomisation of size, baseline offset, and rotation to mimic the natural variation of real handwriting. Download the finished page as a PNG image. All rendering happens locally in your browser.

Como usar

  1. 1 Type or paste your text in the input area.
  2. 2 Choose a handwriting font, ink color, font size, and paper style.
  3. 3 Adjust line spacing with the slider.
  4. 4 Click Render to draw the text on the canvas.
  5. 5 Click Download PNG to save the image.

How typed text is made to look handwritten

Real handwriting never repeats a letter identically — every stroke lands at a slightly different size, angle, and baseline. A plain handwriting font can't capture that, because every "a" it draws is pixel-for-pixel the same. This tool gets closer by treating each character as an individual object on an HTML canvas and nudging its size, vertical position, and rotation by small random amounts before it's drawn. The result reads as hand-lettered rather than typeset, even though it started as a font. Two free Google Fonts handwriting typefaces are available — Caveat and Indie Flower — and they are loaded from the Google Fonts CDN when the tool opens, so the first render needs an internet connection.

The randomisation, precisely

The "Variation" control has three levels that map to concrete amplitudes:

LevelSize jitterBaseline jitterRotation jitter
None0%0 px
Medium±8%±3 px±2°
High±15%±6 px±4°

For each non-space character the tool rolls three random numbers within those ranges and applies them: the glyph is scaled, shifted up or down off the line, and tilted around its own centre. Spaces are handled as a fixed horizontal gap, and a little random kerning is added between letters so the spacing looks organic too. One deliberate design choice: the random generator is seeded with a fixed value, so the same text rendered with the same settings produces the same image every time. That makes the output reproducible — re-rendering won't reshuffle your page — rather than a fresh random scribble on each click.

A worked example

Type a two-line note, choose Caveat, set the font size to 32 px, line spacing to 1.8×, and variation to High. The canvas is 800 px wide with 48 px padding. Line height becomes 32 × 1.8 = 57.6 px, so each new line drops about 58 px down the page, and the canvas grows tall enough to fit your lines plus a margin. With High variation, a 32 px letter may be drawn anywhere from roughly 27 px to 37 px, sitting up to 6 px above or below the line and tilted up to 4° either way — exactly the kind of inconsistency a real hand produces when writing quickly.

Paper styles and ink

Three backgrounds are offered. Plain is a warm off-white sheet. Lined adds faint blue horizontal rules spaced to your line height plus a red left margin, mimicking school exercise paper. Grid overlays a light square grid sized to the font. The ink colour picker accepts any colour; the default is a deep ink-blue rather than pure black, which reads more naturally because real ballpoint and fountain ink is rarely a flat #000000. Choosing a lined page and matching your line spacing to the ruling gives the most convincing result, because the text then sits on the lines the way handwriting actually does.

Resolution and download

The canvas renders at 2× pixel density, meaning an 800 px-wide page is actually drawn into a 1600 px bitmap. That extra detail keeps the strokes crisp on Retina screens and, more importantly, makes the exported PNG sharp enough to print without visible pixelation. Click Download PNG to save the current canvas exactly as shown. All rendering happens locally in your browser using the Canvas 2D API — your text is never uploaded.

Good uses and honest limits

  • Personal touches: a handwritten-looking thank-you note, a quote graphic, a journaling or scrapbook overlay, or a casual social-media image.
  • Design mockups: placeholder "handwriting" in a layout before a real signature or note is added.
  • Teaching aids: generating practice text in a casual script.

Two honest limits worth knowing. First, this is a simulation of casual lettering, not a forgery tool — it cannot reproduce a specific person's handwriting, and because letters are drawn from a font, a graphologist or a careful eye can tell it apart from genuine writing. Second, joined cursive isn't truly connected; each glyph is placed independently, so the script looks hand-printed rather than fluidly linked. For a believable casual note that's exactly the right effect; for a legal signature it is not.

Perguntas frequentes

{# Alpine.js — self-hosted. (The previous jsdelivr CDN tag had a stale SRI integrity hash, so the browser refused to run it and window.Alpine was never defined — silently breaking every FAQ accordion and Alpine tool.) #}