Translate
Translate medical text or documents without sending them off your device.
Accuracy and clinical safety
chrF measures how much of a translation's character sequences match a reference translation (0–100%, higher is better). Roughly: above 60% the meaning is reliably preserved and sentences read naturally; 45–60% is understandable but needs editing; below 45% is unreliable. Medmorf's NLLB‑200 600M model scores ≈ 72% chrF on short Dutch→English clinical sentences in the Benchmark tab.
Larger models translate better. NLLB‑200 also ships 1.3B and 3.3B versions and a 54B research model; each step up improves quality, especially for long or rare-word sentences and languages other than English. Frontier services (DeepL, GPT‑4-class models) are better still on fluency and medical terminology — but they run in a vendor's cloud. Medmorf uses the 600M model because it is the largest that fits a browser tab (~600 MB) and runs on CPU without a GPU.
Tips: translate short sentences, keep drug names and dosages in the source language if unsure, and verify numbers and negations ("no signs of…") — small models sometimes drop them.
Choose languages
Select the source and result language.
Enter text and translate
The result appears beside your text.
Translate a documentExcel or Word
Translation model and cache
Anonymize
Find and replace personal data in medical documents. Processing stays on this device.
Accuracy and required review
Recall is the share of real identifiers (names, dates, addresses, IDs…) that were found. Every missed identifier is a leak, so recall is the number that matters; precision only says how many flagged items were false alarms (harmless, just over-redaction). 90% recall on a letter with 20 identifiers means 2 are still in the output.
Why Medmorf's numbers are lower than cloud tools. Everything runs in your browser, so the models are small: a 46–800 MB NER detector and a 2–4B-parameter LLM. On Medmorf's synthetic clinical letters (Dutch + English, Benchmark tab): GLiNER PII ≈ 79% recall (weak on dates), Qwen3.5 2B ≈ 83%, and NER + LLM combined higher because each catches what the other misses. Purpose-built de-identification systems trained on clinical corpora reach 96–99% recall on the i2b2 benchmark, and frontier LLMs (GPT‑4-class) ≈ 92% — but those need a server or send your text to a vendor.
| Approach | Where it runs | Typical recall | Notes |
|---|---|---|---|
| NER only (GLiNER / XLM‑R) | In browser, CPU | ≈ 75–85% | Fast; misses dates, IDs, organisations |
| LLM only (Qwen3.5 2B) | In browser, WebGPU | ≈ 80–85% | Better on dates/organisations; slower |
| NER + LLM (recommended) | In browser | highest available here | Two passes; still proofread |
| Frontier LLM (GPT‑4-class) | Vendor cloud | ≈ 90–95% | Text leaves your device |
| Specialised clinical de-id (RoBERTa-large, Philter…) | Server | ≈ 96–99% (i2b2) | English-centric; not in-browser |
Reference points: i2b2 2014 de-identification benchmark and published GPT‑4 evaluations (Scientific Reports 2025; iScience 2025). Use Medmorf as a first pass, then review the highlighted mapping and search the output for anything the models missed — never treat the output as fully de-identified without a human check.
Detection methodSelected automatically for this device
Advanced settings — model selection
NER / detector
CPU-friendly span detectorsLLM
WebGPU Qwen verificationHow it works · models & hardware
LLM only (recommended on WebGPU devices): Qwen3.5 handles all PII detection in a single pass.
NER + LLM: Run a NER model first, then let the LLM verify and catch remaining PII. Useful for additional coverage or comparison.
NER only: Run just the selected NER model. Fastest option, no GPU required, but lower accuracy.
Hardware: LLM modes need a modern GPU or Apple Silicon Mac with WebGPU (Chrome/Edge 113+, Safari 18+). The 4B model needs ~3.9 GB GPU memory; pick a smaller model on devices with limited VRAM. NER-only mode runs on CPU.
- Qwen3.5 2B (default) — ~2.2 GB VRAM. Best PII recall under 3 GB in the Benchmark tab (83%).
- Qwen3.5 4B — ~3.9 GB VRAM. Largest browser-feasible option; needs ~4 GB GPU memory. All models are kept ≤4B by design.
- Multilingual PII NER — ~280 MB. XLM-RoBERTa, no GPU needed. Names, addresses, dates, IDs in 8+ languages.
- GLiNER PII Edge — ~46 MB. Zero-shot, no GPU needed. Best for English.
- Multilingual BERT NER — ~100 MB. Lighter general-purpose NER (people, places, organizations).
- OpenAI Privacy Filter — ~1.5 B params (q4 ≈ 800 MB). OpenAI's bidirectional token classifier with 8 PII categories: person, email, phone, address, date, URL, account number, secret. Runs in-browser via Transformers.js + WebGPU; WASM/CPU is not supported for its quantized embedding op in this browser stack. Primarily English with multilingual robustness reported. Pick it under Advanced settings → NER Model with the NER only or NER + LLM pipeline.
Always manually review the output. First load downloads the selected model; subsequent runs use the browser cache.
Review required. Anonymization can miss identifiers. Check every result before sharing.
Add content
Upload a document or paste text below.
Upload document
Drop document here
.pdf, .xlsx, .docx, .txt
Use a mapping file Optional
Drop mapping file
.xlsx or .json
Paste text instead
Summarize
Turn medical notes into a structured draft while keeping the source on this device.
Accuracy and clinical safety
Medmorf scores summaries by fact coverage — the share of clinically relevant facts from the source that appear in the summary — and by hallucination probes, statements that appear although they are not in the source. On the synthetic notes in the Benchmark tab the in-browser models cover ≈ 85% of the facts with no hallucinations, but they do drop items (in one test: the trigger event and a passive death wish), and they write less fluent Dutch than large models.
Larger models are better here. In a Nature Medicine study (2024), an adapted GPT‑4 produced clinical summaries judged equal or better than physicians' in 81% of cases; 2–4B in-browser models are well below that. Medmorf's trade-off is that the note never leaves your device. Treat the summary as a draft: check it against the source for missing risk information, medication, and numbers. Prefer the 4B model when your device allows it (see the memory bar), and use the structured templates — they force the model to cover each section.
Add source notes
Upload a document or paste the text to summarize.
Upload document
Drop document here
.xlsx, .docx, .txt
Paste text
Speech to text
Record or upload audio and create a private, on-device transcript.
Accuracy and clinical safety
WER (word error rate) is the share of words a transcript gets wrong — substitutions, missed words and inserted words, divided by the number of words actually spoken. 10% WER means roughly one word in ten needs correcting; 0% is perfect. Below ~10% a transcript is usually usable after a quick read-through; above ~25% it is often faster to dictate again. WER treats every word the same, so a wrong drug name or dose counts exactly like a wrong “the” — always verify medication, numbers and names.
Why Medmorf uses small models. Everything here runs inside your browser on your own device, so nothing leaves it. That limits model size: the largest Whisper that fits a phone or laptop tab is small (~500 MB). Larger Whisper models (medium ~1.5 GB, large-v2/v3 ~3 GB) and the commercial “frontier” dictation services are noticeably more accurate, but need a GPU server or send your audio to a cloud provider.
| Model | Where it runs | Dutch WER | English WER | Notes |
|---|---|---|---|---|
| Whisper tiny | In browser | 49% | 12% | Not usable for Dutch; English only for rough notes |
| Whisper base | In browser | 33% | 9% | Fair for English, poor for Dutch |
| Whisper small (default) | In browser | 16% | 6% | Best that fits a browser tab; review before use |
| Whisper medium | Server GPU | 10% | 4% | Too large for a browser tab |
| Whisper large-v2/v3 | Server GPU | 7% | 4% | Too large for a browser tab |
| Frontier cloud dictation (2026) | Vendor cloud | ≈4–6% average across languages; medical-tuned services report ~3% missed medical terms | Audio leaves your device | |
Whisper figures: OpenAI Whisper paper, FLEURS read-speech benchmark (clean audio, native speakers). Real dictation — accents, background noise, phone microphones, jargon — scores worse for every model; Medmorf’s own Benchmark tab measures the in-browser models on synthetic clinical clips on your device. Frontier figures from public 2026 vendor benchmarks (Microsoft MAI-Transcribe-1, AssemblyAI Universal-3, NVIDIA Parakeet). Tips: use the small model, speak clearly in short sentences, keep the microphone close, choose the correct language, and always proofread numbers, dosages and names.
Choose mode and language
Whisper Small is the recommended default.
How transcription works
Workflow: record first, then transcribe. Transcription begins automatically when you stop recording.
Long recordings: 15+ minutes are supported. On a phone, keep Medmorf visible and the screen on; use Dictaphone mode for shorter entries.
- Whisper Tiny — ~150 MB. Fastest, basic quality.
- Whisper Base — ~300 MB. Fair quality.
- Whisper Small (recommended) — ~500 MB. Good quality, best for clinical use.
All models run via WebAssembly (ONNX Runtime). First use downloads the model; subsequent runs use browser cache.
Add audio
Record here, or choose an existing audio file.
Record audio
Upload audio
Drop audio file here
.mp3, .wav, .ogg, .webm, .m4a, .flac
12-second synthetic Dutch dictation
DICOM
Index, inspect, and sort imaging folders locally without uploading patient data.
1 Choose a source folder
Scan settings Optional
Merge PDF
Combine PDF files in the order you choose. Everything stays on this device.
1 Add your PDF files
Storage
Prepare for offline work and manage model files stored by this browser.
Prepare for Offline Use
Download all models now while you have internet. Once cached, everything works in airplane mode.
App Updates
Force-refresh the app code without redownloading model weights. Useful after a new version is deployed.
Note: Private/incognito browser windows discard all caches when closed — including model weights. To keep models between sessions, use a normal window.
Personal Data — Where It Goes
Your documents, text and patient data are never written to disk or browser storage. They exist only in temporary JavaScript memory and are automatically removed.
Currently in memory
No personal data in memory
Cache API (Model Files)
Translation and NER models are cached here. These are safe AI model weights — no personal data.
Scanning...
IndexedDB (LLM Model Cache)
WebLLM/MLC caches Qwen model weights here. These are safe AI model data — no personal data.
Scanning...
This will remove all cached models. You will need to re-download them on next use.
Benchmark
Compare local model speed, memory use, and quality on synthetic data.
Open this tab to load the benchmark.