Every developer has been in a meeting where someone says "kub-cuttle" and everyone pretends not to notice. This server wraps a dictionary of 1,650+ developer jargon pronunciations with cited sources, so Claude can answer "how do you say kubectl?" with the actual audio respelling and a URL proving nginx is "engine-x" per the creator. It exposes lookup operations for words like GIF, JWT, and Pydantic, returns IPA, confidence tags, and source links, and handles contested pronunciations by listing alternates. Useful when writing docs, prepping talks, or settling arguments without opening seventeen Reddit tabs. The underlying dictionary tracks creator statements, RFCs, and community consensus, so you get Linus Torvalds saying "Linux" instead of a phonetic guess.
Stop saying "kub-cuttle". One Bash command pronounces 1665+ developer jargon names — with cited sources.
🌐 pronounce.renlab.ai · 🇨🇳 中文 · 📖 Browse · 🎯 Quiz · 🎤 Voice search · 🔌 MCP server

▶ Watch the 47-second promo (with voice) · 🎯 Try the quiz · 🎤 Voice search
git clone https://github.com/anzy-renlab-ai/pronounce.git
cd pronounce && ./install.sh
say-it kubectl

That's it. Now try say-it GIF, say-it nginx, say-it Pydantic, say-it --why JSON, or say-it quiz for a 10-question challenge. Linux users: install espeak-ng (sudo apt install espeak-ng) and the CLI just works. Windows: same CLI under WSL or git-bash + PowerShell. Or skip install and use the browser at pronounce.renlab.ai.
⭐ If
say-it kubectlsaves you one cringey standup moment — star the repo. It nudges more devs to contribute their favorite mispronounced project name.
creator-clarified / community-consensus / contested) with a citable URL where one exists. Wilhite said GIF is "jif" at the 2013 Webby Awards. Crockford says JSON is "JAY-son" (RailsConf 2009). RFC 7519 says JWT is "jot". The dictionary cites them.--solo skips the tail once you've internalized it.say engine that's already on your Mac. Ships a Claude Code skill and an MCP server so your AI answers "how do you pronounce X?" with audio, not a phonetic guess.$ say-it --why JSON
word JSON
ipa /ˈdʒeɪsən/
respelling_us jay son
source Douglas Crockford (RailsConf 2009)
url https://www.youtube.com/watch?v=-C-JoyNuQJs
Because Google gives you 47 Reddit arguments and a YouTube clip you have to unmute. IPA gives you /ˈkuːb kənˌtroʊl/ — a reference, not a teacher.
You don't need a phonetic transcription. You need to hear the word. Twice. Maybe three times. Done.
say-it ships a community-maintained dictionary of how engineers actually say the names that trip everyone up — and feeds the intended respelling to your OS's text-to-speech engine, so kubectl comes out as koob-control, not whatever your computer guessed from the letters.
Some pronunciations aren't opinions — the creators settled them. The dictionary cites every one:
| Word | Reading | Source |
|---|---|---|
GIF | "jif" (creator says so) | Steve Wilhite, Webby Awards 2013 |
JSON | "jay-son" | Douglas Crockford, RailsConf 2009 |
GNU | "g-noo" (hard G, one syllable) | GNU Project official |
Linux | "LIN-ux" (short i, schwa) | Linus Torvalds himself |
LaTeX | "lay-tek" (or "lah-tek") | Leslie Lamport, official |
Django | "JANG-go" (silent D) | Django FAQ |
Vue | "view" (one syllable) | Evan You, Vue docs |
Vite | "veet" (French for quick) | Vite docs |
Knative | "KAY-native" (the K is voiced) | Knative docs |
etcd | "et-cee-dee" (et-cetera-distributed) | etcd FAQ |
Every dictionary entry includes a source_url. Run say-it --why <word> to see it.
brew install anzy-renlab-ai/tap/say-it # Homebrew
Or the "Try it in 30 seconds" block above. ./install.sh drops:
~/.local/bin/say-it,~/.local/share/say-it/pronunciations.tsv,pronounce-word skill at ~/.claude/skills/pronounce-word/ so any "how do you say X?" prompt to your AI gets answered with audio instead of IPA,~/.agents/skills/ (Codex CLI) and ~/.kiro/skills/ (Kiro) when those dirs exist — it's the cross-tool Agent Skills standard.Make sure ~/.local/bin is on your $PATH. Linux also works — install espeak-ng (sudo apt install espeak-ng / brew install espeak-ng). Windows: WSL or git-bash + PowerShell. Or skip install entirely with the browser version at pronounce.renlab.ai.
say-it kubectl # primary × 3, then "or: <alt>" for each alternate
say-it --solo kubectl # primary only — silence the "or:" tail
say-it --alt GIF # focus on the first alternate
say-it --alt 2 GUI # focus on the Nth alternate (1-indexed)
say-it --all SQL # primary AND every alternate, each repeated
say-it --no-dict kubectl # bypass the dictionary entirely
say-it --why JSON # show IPA, source URL, category, confidence
say-it list # every word in the dictionary
say-it search redis # grep the dictionary (case-insensitive)
say-it -n 5 Pydantic # 5 repetitions instead of 3
say-it -r 110 Knative # slower (110 wpm; default is 130)
say-it -o /tmp/word.aiff Postgres # save to file instead of playing
say-it --list # all macOS voices
The default voice is Samantha (General American). Pass -v <voice> for any other macOS voice — but the dictionary is GenAm-only, by design.
You: kubectl 怎么读?
Claude: 🔊 (plays "koob-control" three times)
/ˈkuːb kənˌtroʊl/ — "KOOB-control". Kelsey Hightower says it
this way (KubeCon talk). "Cube-cuddle" is an alternate —
try `say-it --alt kubectl` to hear it.
Once installed, the pronounce-word skill auto-triggers on:
X 怎么读 / X 怎么发音 / 读一下 Xhow do you pronounce X / pronounce X / how do you say XYour AI replies with sound, not just a phonetic guess. Skill file: skills/pronounce-word/SKILL.md.
Not on Claude? Same skill drops into Codex CLI (codex plugin marketplace add anzy-renlab-ai/pronounce) and Kiro (~/.kiro/skills/), and the MCP server covers Claude Desktop, Cursor, Continue, Zed, Cline & friends — full matrix in integrations/.

Hover over any tech word in any file — see the IPA, hear the pronunciation. Same 1665-entry dictionary as the CLI, JSON-bundled at build (zero runtime parse cost).
# Cursor / VSCodium / Zed / Gitpod / Theia / code-server (Open VSX)
code --install-extension sayit.pronounce
# or the listing: https://open-vsx.org/extension/sayit/pronounce
Now live on Microsoft Marketplace too: ext install sayit.pronounce in VS Code. See marketplace listing.
kubectl, YAML, Ghostty, wagmi… → tooltip with IPA + 🔊 Play + ★ Star link.🔊 sayit — click to speak the current selection.Pronounce: Search dictionary… — fuzzy-find all 1665 entries.Source: integrations/vscode/. Cross-platform as of v0.3 — macOS say, Linux espeak-ng, Windows PowerShell.
Click any tech word on any webpage → popup with IPA + audio. Same 1665-entry dictionary; same Web Speech API as pronounce.renlab.ai. Sideload only for now (not yet on Chrome Web Store).
Download pronounce-chrome-0.1.0.zip from the latest release → unzip → chrome://extensions/ → Developer mode → Load unpacked.
Source: integrations/chrome/.
data/pronunciations.tsv is the single source of truth — tab-separated, 1665 entries, covering:
kubectl, nginx, Kubernetes, helm, Istio, Envoy, Prometheus, Grafana, Terraform, Argo, Knative, etcd, containerd, runc, Podman, ...Django, Vue, Vite, Pydantic, Bun, Deno, Hugo, Hono, Caddy, Svelte, Astro, Pinia, ...PostgreSQL, Postgres, SQLite, MySQL, MongoDB, Cassandra, Redis, Ceph, ScyllaDB, ClickHouse, DuckDB, ...GIF, JSON, SQL, GUI, GNU, char, regex, sudo, tmux, chmod, WYSIWYG, ASCII, enum, NaN, SaaS, PaaS, ...Linux, Debian, Ubuntu, Arch, Nix, LaTeX, TeX, emacs, zsh, ...Each entry has 10 columns: word | ipa | phon_us | alt_ipa | alt_phon_us | source_url | source_label | category | confidence | notes. The phon_us column is Apple's Speech Synthesis phoneme set, injected into say via [[inpt PHON]]…[[inpt TEXT]]. This is what gives the intended reading rather than whatever the TTS would have inferred from the letters.
Local override: drop a ~/.config/say-it/pronunciations.local.tsv and it takes precedence.
say engine. Zero dependencies.--alt [N], --all, --solo, --why, --json, --md, --no-dict, list, search, quiz, repl, stream, doctor, export, benchmark, badge, cheatsheet.See DESIGN.md for the architecture.
System.Speech.SpeechSynthesizer, same CLI flags.espeak-ng, then cloud).say-it update to pull the latest dictionary without reinstalling.Two things we want most:
data/pronunciations.tsv. Required columns: word, ipa, phon_us. Highly preferred: source_url (creator interview, conf talk, official FAQ — anything verifiable). Contested readings are welcome; put the rival in alt_* columns and we'll wire --alt through.DESIGN.md §Backends.Keep it tiny. Keep it dep-free where possible. Keep the defaults opinionated (3 reps, GenAm, Samantha voice).
The dictionary is free and MIT. The single highest-leverage thing you can do is star the repo — it's the signal that pulls in more contributors, more PRs, more creator-clarified entries.
Optional, if it's saved you real standup pain:
Dollars cover hosting (Vercel/Cloudflare/Open VSX), domain renewals, MiniMax narration credits for promo videos, and time to track down creator citations for new entries.
Every entry, source upgrade, and skill fix counts. Open a PR — your face shows up here.
MIT — see LICENSE.
IPA is a reference. Audio is a teacher.