Type Vietnamese on macOS. The way you already know.
Telex and VNI, in every app. No input-source switching.
macOS 14+Apple Silicon and IntelOpen source0.2.7
Demo: the Telex sequence Tooi ddang gox tieengs Vieetj becomes Tôi đang gõ tiếng Việt, then Control-Shift switches to English.
Tôi đang gõ tiếng Việt
Tooi ddang gox tieengs Vieetj
Telex. VNI. Like Unikey.
The same word, in the two methods you already know from Windows.
tieengs Vieetj
tiếng Việt
text stays text.
English words are restored when you finish typing, instead of becoming broken Vietnamese.
English restore demo: words such as text, add, and request stay English instead of becoming broken Vietnamese.
Typing
text
text
Safari in Vietnamese. Terminal in English.
GoViet remembers the language per app. Games can be excluded entirely.
Safari
VI
Terminal
EN
Messages
VI
VS Code
EN
A menu bar utility.
Native settings, ⌃⇧ shortcut, launch at login. Not a system input source.
- Vietnamese (⌃⇧)✓
- Telex
- VNI
- Simple Telex
- Settings…
- Quit GoViet
Works in every app
Safari, Chrome, VS Code, Terminal, Messages, Notes, Slack. The engine intercepts keyboard events system-wide.
tiếng Việt
- Safari
- Chrome
- VS Code
- Terminal
- Messages
- Notes
- Slack
Abbreviations you define
Unlimited length, JSON import/export, case follows how you typed. No built-in pairs.
hn
hn
Knows when to stop
When macOS enables secure input (password fields), GoViet pauses and shows a lock in the menu bar.
Rust handles the letters. Swift talks to macOS.
A pure logic engine with unit tests. The macOS shell owns the event tap, key injection, and per-app memory.
Keyboard events
Rust typing engine
macOS integration
The app in front
Rust + Swift · MIT · unit tests
Explore the source on GitHubInstall, then type.
Current builds are signed with an Apple Development certificate, not notarized. macOS will ask for an extra step.
Download
Get the universal .dmg (Apple Silicon and Intel).
Download for macOSInstall
Drag GoViet into Applications.
Allow opening
Open once so macOS records it. Then System Settings → Privacy & Security → Open Anyway. Or run xattr -cr /Applications/GoViet.app.
Turn on Accessibility
System Settings → Privacy & Security → Accessibility → enable GoViet. No logout. VI/EN appears in the menu bar.
GoViet.app
Open once so macOS records it. Then System Settings → Privacy & Security → Open Anyway. Or run xattr -cr /Applications/GoViet.app.
Open Anyway
Accessibility, plainly.
GoViet needs Accessibility to read and rewrite keyboard events in other apps. That is how a Unikey-style engine works on macOS, rather than as a system input source.
- The source is on GitHub. You can read the engine and the macOS shell.
- Typing runs on your Mac. There is no GoViet account.
- This is not a claim of zero risk. Grant the permission to software you trust.
A few things to know
English words that are also valid Vietnamese syllables can pick up tone marks, same as Unikey: this becomes thí, mix becomes mĩ. Press ESC to restore the original keys, double-tap the tone key, or switch to EN. GoViet remembers the mode per app.
Read known limitationsType Vietnamese on macOS.
Download GoViet, drag it into Applications, start typing.