Voice to Handwriting
Theo Lindgren·Maker's desk·Updated 2026-10-07·3 min read

Transcribe recordings into handwritten notes, free and local

A two-hour meeting recording, a lecture, a voice memo full of ideas — turning them into a shareable handwritten note used to mean four steps: transcription app, copy, layout, export.

We compressed it into one: upload an audio file, get a handwritten page. Free, with the audio never leaving your device. Here's how it works, our real test results, and the honest limitations.

The three routes, compared

RouteCostPrivacyBest for
In-browser Whisper (ours)0Audio stays on deviceDaily notes, privacy-sensitive content
Cloud ASR (iFlytek, Doubao, Groq…)Per minute or limited free tierAudio uploadedVery long files, speed-critical
Phone dictation + copy-paste0DependsOne-off short snippets

The local route's only cost: a one-time model download, and transcription speed depends on your hardware.

How we implemented it (the technical bits)

  • Files are decoded via the browser's decodeAudioData and resampled to 16kHz mono;
  • The Whisper model (~80MB fast / ~250MB high-quality, q8 quantized) is self-hosted on our own domain, chunked into 30-second windows;
  • Desktop Chrome with WebGPU gets GPU acceleration; everything else falls back to WASM (CPU);
  • The transcript lands in the same editor — fonts, paper, export all behave identically to typing.

We self-host the model instead of calling the HuggingFace CDN to avoid cross-origin blocks and keep downloads working in China.

Real test: a TTS sample

Environment: macOS + Chrome, no discrete GPU (WASM path), fast model.

  • Input: synthesized Chinese speech saying "你好,这是一段测试语音,用来验证音频转写功能。" (~5s)
  • Output: "你好,這是一段測試語音,用來驗證音頻轉寫功能。"

Content fully correct, but rendered in traditional characters — a known tendency of base-tier models; switch to the high-quality tier or fix by hand. First model load took about a minute; afterwards the browser caches it.

The import-audio entry in the toolbar

Three steps

  1. On the tool page, click "Import audio file" and pick mp3 / wav / m4a;
  2. Wait for the progress hint (includes first-time model download);
  3. The transcript lands in the editor — fix typos, pick a style, export.

Limitations, stated plainly

  • Base-tier accuracy degrades with heavy accents and noise; use the high-quality tier and proofread for anything important;
  • 30+ minute files take noticeably long — split them;
  • Safari's decoding of some audio codecs is incomplete; desktop Chrome / Edge recommended;
  • A file that is quiet all the way through stays quiet in the transcript. Lift the level first: fix a quiet voice memo.

Tested, with honest limitations

Every step was tested on desktop Chrome (macOS, October 2026); screenshots are from real runs. Speech recognition is provided by the browser vendor and quality varies — proofread important text. We collect no text or audio — see the Privacy Policy. Technical reference: MDN · Web Speech API.

People also ask

People also ask

  • What's the best free transcription tool? The in-browser route (this tool) is free with no minute caps; cloud services have free tiers but upload your audio.
  • How long does meeting transcription take? Local speed depends on your hardware — a 30-minute recording takes a few minutes; split long files.
  • Does m4a from my phone work? Yes. If Safari's decoding is incomplete, upload via desktop Chrome / Edge.