Skip to content

7 models · Speech to text · Transformers.js

Speech to text in the browser

7 models handle speech to text in the browser today, from 53.4 MB (Moonshine Tiny) to 2.64 GB (Voxtral Mini 4B Realtime), a 139.3 MB download at the midpoint. Every one runs with Transformers.js over WebGPU or WebAssembly: no server, no install, no account.

Models
7
Smallest
53.4 MB
Median
139.3 MB
Largest
2.64 GB

Every speech to text model, ranked by WebGPU size

Model WebGPU · WASM
Model WebGPU download WASM download
Moonshine Tiny 27.09M params 53.4 MB q4f16 26.8 MB uint8
Whisper Tiny 37.8M params 72.6 MB fp16 39.0 MB uint8
Moonshine Base 61.5M params 97.0 MB q4f16 60.0 MB uint8
Whisper Base 72.6M params 139.3 MB fp16 73.3 MB uint8
Whisper Small 241.7M params 462.7 MB fp16 237.5 MB uint8
Whisper Large v3 Turbo 808.88M params 537.4 MB q4f16 1.01 GB uint8
Voxtral Mini 4B Realtime 4.43B params 2.64 GB q4f16 3.47 GB q8

Sizes measured from the HuggingFace API file tree for each model's repo, not estimated. Sorted smallest to largest by the WebGPU headline pick.

Size ladder

The WebGPU download spans 50.6x here: 53.4 MB (Moonshine Tiny) to 2.64 GB (Voxtral Mini 4B Realtime).

5 of 7 models download a smaller build over WebAssembly than WebGPU: the CPU-fallback quant compresses tighter than the GPU pick there.

3 of 7 models here fit under 100 MB over WebGPU.

Bytes-per-million-params ranges 3.2x within this group: 0.61 MB/M (Voxtral Mini 4B Realtime) to 1.97 MB/M (Moonshine Tiny).

Use it with Transformers.js

Every speech to text model here shares the same pipeline() task, so one snippet covers the group. This one loads Moonshine Tiny, the smallest download; swap the repo string for any other row in the table above.

import { pipeline } from "@huggingface/transformers";

const pipe = await pipeline("automatic-speech-recognition", "onnx-community/moonshine-tiny-ONNX", {
  device: "webgpu", // usually falls back to "wasm"; wrap in try/catch for production
  dtype: "q4f16", // use "uint8" for the WASM build
});

const result = await pipe(/* your input */);

Requires npm install @huggingface/transformers (or the CDN build).

Notable speech to text models

Other tasks

Or see every browser model grouped by task, or the main GGUF catalog for native runtimes outside the browser.

FAQ

Do all speech to text models here use the same WebGPU quant?

No. 4 use q4f16, 3 use fp16. q4f16 is the most common pick.

What would it cost to download every speech to text model here?

3.97 GB total over WebGPU across all 7 models, if you tried every one back to back. Most projects only need the single model that fits the job, not the whole set.

Sizes measured 2026-08-01 from the HuggingFace API. Last validated 2026-09-14. See all browser models or the methodology.