You can change your language and everything else anytime in Settings.
Privacy
1.0×
MacroLang
MacroLang — on-device live caption and translation
Translator
Your wordsauto-detect
0 chars
Translationready
Translation appears here
Recent translations
Audio
Your browser can't choose an output device — it follows the system default. (Safari and Firefox don't support this.)
100%
Calls run on the MacroLang call network — one 5-letter code works from the phone app or any browser.
Settings
Account
—
—
Billing
Subscription
Sign in to subscribe
A real account (separate from the display name above) so Macro+ follows you across devices — web today, phone apps read the same status.
—
Checking status…
Macro+
$1.67 USD/mo
Current plan
iOS app — native iPhone build (coming soon)
Custom status text
Macro+ badge
Macro++
$6.99 USD/mo
Current plan
Everything in Macro+
Larger group calls
Macro++ badge
Awareness++ smart glasses support (coming soon)
Translation is free for everyone, on every tier — every language, every engine, live captions and calls, with no key and no subscription. Macro+ and Macro++ only add the extras listed above.
Phone calling
Call a real phone number from the web app. You bring your own
Twilio account and pay
Twilio directly for the minutes — MacroLang never holds call credit and never bills you per minute.
Supported destinations: Canada/US, Vietnam, Philippines.
Your Auth Token is not stored. It is used once, right here, to create a
revocable API Key on your account — then discarded. Only that key is kept, encrypted. Revoke it
anytime in Twilio without touching your account.
Calls are not translated yet — that needs live audio processing and is coming later.
Twilio account
Not linked
Use a local/geographic number if you can — international carriers often reject or rewrite toll-free caller ID.
Reading
Theme
Same set as the phone app
Caption language
The language every caption is rendered in for you
Prefer romanized captions
Show Latin script alongside native script for CJK/Thai/Myanmar/Khmer/Lao
On-device romanization model
Real phonetic romanization (not just accent-stripping) for Chinese/Japanese/Korean/Thai/Burmese/Khmer/Tagalog/Indonesian/Turkish/Spanish/Vietnamese. No Cebuano, Ilocano, Malay, or Lao model exists upstream. Runs in your browser — no server, no key. ~41 MB one-time download.
Stops your speaker feeding back into your mic. Two speakerphones in one room still echo — that is physics, not this switch.
Push to talk
Hold Space to speak; the mic is closed otherwise.
Camera on when joining
Start room calls with video already on.
Receiving box
A small floating window showing the person you called, with you in the corner.
Feedback button
The small Feedback control in the corner. Turn it back on if you dismissed it.
Server voices
Prefer a female voice
Used wherever one exists. Ten languages have none on the server — those try your device's voice instead.
Voice & translation
Speaking
Speaking language
The language you talk or type in
Translation style
Natural
Smooth, everyday phrasing so the meaning lands cleanly.
Literal
Adds a word-for-word line with notes, so you can see how the other language actually builds the phrase. Sits under Natural.
Gloss intensity
How often the literal line appears.
0.0 · Only idiomsEverything · 1.0
Speech recognition
Engine
Offline SenseVoice runs on-device — works in any browser and covers Asian languages better.
Listen source
Mic is your microphone. Tab shares a Chrome tab or screen (tick Share audio). Cable is a VB-Audio / Voicemeeter loopback so other apps can be captioned.
Detect spoken language automatically
Switches between your speaking language and the languages of the people in the call, so a mixed table doesn't have to pick one first. Only switches on sustained evidence, never mid-sentence. Works between languages that share a script — the recogniser only ever listens in one language at a time, so it cannot hear that you have switched from English to Thai until you tell it. Tap the language badge on your live line to correct a wrong guess. Turn this off if you always speak one language.
Other languages I read
If someone speaks one of these, you get their words untouched instead of a translation — no delay, no engine error. Best first.
Safe Mode Macro++
Masks profanity in the captions you read (f***). Off by default on every tier — MacroLang shows what was actually said, and softening it silently is a translation bug, not politeness. The translation itself is never altered, so turning this off restores the exact text with no new request.
PhoWhisper server URL
Your STT helper (run stt/phowhisper_server.py). Speech is sent there as short audio chunks.
On-device Whisper model
Runs in your browser — no server, no key. One-time model download (~75 MB), cached on this device.
On-device Moonshine model
English only — its Korean/Vietnamese/Japanese/Mandarin models have broken exports upstream. Falls back to Whisper for other languages. One-time download (~60 MB).
Offline speech model
One-time download (~238 MB), cached on this device.
Hearing (TTS)
Speak captions aloud
The browser reads incoming captions in your caption language
Voice engine
Browser uses your OS voices. Kokoro is on-device Apache-2.0. Server uses Piper (MIT) then gTTS.
—
On-device Kokoro model
Runs in your browser — no server, no key. One-time model download (~80 MB), cached on this device.
Voice
Voices come from your browser/OS — more install with language packs
Speed
1.0×
Test voice
Hear a sample in your caption language
Translation engine
Engine
Auto picks the best engine per language pair
Display
Reload app
Fetch the newest version — you are on build ?
Interface density
Compact tightens spacing and text across the whole app
Overlay button
Show the pop-out overlay button (off = captions live in the chat)
Overlay opacity
Transparency of the pop-out caption window
Interface
Motion
Ambient field
A slow digital swell behind the app, rippling where you click. Pauses itself during calls so it never competes with video.
Overlay
Camera
The other person's video at the top of the overlay
Chat
Live caption / message list
Input
Type box, mic and send buttons
Bottom bar
Language tag, Settings and Full view buttons
Main app
Sidebar
Server rail and conversation list
Join a call box
Call-code entry on the empty chat screen
Quick call row
Phone call / Internet call / Group call / Demo buttons
Message input bar
Composer at the bottom of the chat tab
Call window
Video
Picture area of the floating call window
Captions
Caption blocks over the call picture
Controls
Mic, camera, speaker and end-call buttons
Messages & channels
Their language on top
Show what the other person actually said as the main line, with your language underneath. Off puts your language first.
Channel join & leave sounds
A short, quiet blip when you join or leave a voice channel — much softer than Discord's.
Demo call
Simulated two-way call for trying captions without another person. Lives here, not on the chat screen.
Appearance Macro+
Themes and interface density.
Privacy
What we keep, what we never keep, and who else sees it.
API keys
Optional extras — translation is free for everyone, forever. Google, MyMemory, Lingva, Apertium, LibreTranslate and offline Argos need no key and are never gated. A key here only adds that provider as one more engine choice. Keys are stored in this browser only. They are never uploaded to MacroLang, never saved on our servers, and never shared with another user or another device — they are attached to your own translation request and sent nowhere else. Clearing this browser's site data erases them.
DeepL
Not set
Unlocks the DeepL engine — high-fidelity phrasing for European languages and Japanese.
The emailed link works for 30 minutes. Pick the new password here.
Change password
Needs the current one — a signed-in device alone can't lock you out.
New room
Rooms are live voice.
Opening one turns your microphone on, and what gets said is captioned.
Room settings
Everyone in a voice room sends their audio straight
to everyone else, so each extra person costs every person more upload.
Above 4 needs Macro++ on the server owner's account.
Off by default. When on, the captions of what
people say get written into this room's history, where anyone who can open
the room can read them later. Audio is never kept either way.
Deleted for good, for everyone. There is no undo.
Members: unlimited. Everyone in this server can
read and post here — that has no cap. The number above is only how many can
be in the live voice room at the same time.
MacroLang
StrangerClick Start
You
Click Start to talk to a stranger.
MacroRoulette
One free spin a UTC day. Credits are tail-language minutes. Core languages stay unlimited.
Day A~6.1 min EV
One free spin a UTC day. Credits are tail-language minutes. Core languages stay unlimited.
SHA-256 of today's seed — committed before anyone rolls.
Stripe Checkout. Packs grant spins, never minutes — you still have to roll.
Viewing: English
Waiting…00:00
?
0
—
MacroRoulette
Incoming
Waiting for video…
How's MacroLang?
Goes straight to the person building it. No account needed.