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.

Untitled
VI

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.

GoViet — Settings
GeneralTypingAbbreviationsAppsAbout
English / Vietnamese shortcut⌃⇧
VI
  • 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.

  1. Keyboard events

  2. Rust typing engine

  3. macOS integration

  4. The app in front

Rust + Swift · MIT · unit tests

Explore the source on GitHub

Install, then type.

Current builds are signed with an Apple Development certificate, not notarized. macOS will ask for an extra step.

  1. Download

    Get the universal .dmg (Apple Silicon and Intel).

    Download for macOS
  2. Install

    Drag GoViet into Applications.

  3. Allow opening

    Open once so macOS records it. Then System Settings → Privacy & Security → Open Anyway. Or run xattr -cr /Applications/GoViet.app.

  4. Turn on Accessibility

    System Settings → Privacy & Security → Accessibility → enable GoViet. No logout. VI/EN appears in the menu bar.

Privacy & Security

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 limitations

Type Vietnamese on macOS.

Download GoViet, drag it into Applications, start typing.