PREVIEW · RECITE. BE FOLLOWED. STAY OFFLINE.

Recite the Quran.
See the verse.

Start anywhere. Tilawa finds your place, follows you word by word, and gently notes words that were missed, added or different.

Runs on your deviceNo audio uploads

Preview: it can miss mistakes and sometimes warns when you recited correctly. Pronunciation and tajweed are not checked yet.

Try Tilawa

On-device

EXAMPLE · AL-IKHLAS, 112:1

قُلْ هُوَ ٱللَّهُ أَحَدٌ


Start anywhere
in the Quran.

Press start, allow the microphone, and recite. There's nothing to set up.

The first start downloads about 70 MB, once.
Your audio stays on this device.

Practise a passage

Pick what you're about to recite. Tilawa stays inside it and points out anything missed, added or different.

Tilawa notes wrong, missed and extra words, and skipped passages. It doesn't check pronunciation or tajweed yet.

Details
Runs on
Not loaded yet. Tilawa uses WebGPU where it can and falls back to WebAssembly (WASM).

FOR DEVELOPERS

The same engine. In your app.

This page is @tilawa/core with no options. TypeScript for the browser and Node, MIT licensed, with no network calls of its own beyond fetching its model.

// npm i @tilawa/core@next onnxruntime-web
import { createTilawa } from "@tilawa/core/web";
const tilawa = await createTilawa();
const session = tilawa.startFreeRecitation();
session.subscribe((e) => {
  if (e.type === "position") show(e.observed[0]?.word);
  if (e.type === "checker" && e.state === "confirmed")
    mark(e.location, e.errorClass);
});
const mic = await tilawa.listen(session);
// later: await mic.stop(); session.mistakes()