How to pronounce 65 tech terms developers (and TTS) get wrong
From GIF to kubectl, these are the words colleagues argue about and text-to-speech engines simply get wrong. Every one of the 65 terms below plays the correct reading next to what an AI voice says when left alone. The same list downloads as a pronunciation lexicon you can load into your own voice app.
65 terms · 195 audio clips · free to reuse under CC BY 4.0
The ones people argue about
Its inventor, Steve Wilhite, insisted on the soft g, "jif". The hard g is more common in practice, and dictionaries list both. The one clear mistake is spelling it out letter by letter.
Both readings are standard: the letters S-Q-L follow the ANSI name, while "sequel" comes from its predecessor, SEQUEL. Pick one per team. What it is never is a single syllable like "squall".
Torvalds recorded a clip settling it: LIN-uks, with a short i, not "lie". His own name is LEE-nus in Finnish, and the English habit of saying LYE-nus dragged the kernel along with it.
The name is short for "engine x", and the pronunciation keeps the original words: say engine, then the letter X. Because the spelling has no vowels, TTS models tend to spell it out or force it into one syllable. The official nginx documentation states the reading plainly.
The docs list several readings; the common ones are "cube control" and "cube cuttle". Nobody spells it out.
It is a homophone of cash, one syllable. The two-syllable ka-SHAY is cachet, a different word meaning prestige.
Microsoft says AZH-ur with the stress up front and a reduced second syllable. British English also allows end stress, but Microsoft's own material is consistent.
Richard Stallman asks specifically that the g be pronounced, giving two syllables, guh-NOO, to distinguish it from the animal, which is said "new".
Both readings are current: TOO-pul is more American, TUH-pul more British. Either way the stress is first.
It comes from the Greek κυβερνήτης, meaning helmsman. The stress falls on the third syllable, NET, and the ending is "eez", not "nights". Native speakers miss this too, because -netes looks like -nights.
All terms
| Term | Say it like | IPA | Correct | AI default |
|---|---|---|---|---|
| nginx | engine-x | /ˈendʒɪn ɛks/ | ||
| Kubernetes | koo-ber-NET-eez | /ˌkuːbərˈnetiːz/ | ||
| PostgreSQL | POST-gres-Q-L | /ˈpoʊstɡrɛs ˌkjuː ˈɛl/ | ||
| SQLite | S-Q-L-ite | /ˌɛs kjuː ɛl ˈaɪt/ | ||
| GIF | jif / gif | /dʒɪf/ or /ɡɪf/ | ||
| SQL | S-Q-L / sequel | /ˌɛs kjuː ˈɛl/ or /ˈsiːkwəl/ | ||
| JSON | JAY-sun | /ˈdʒeɪsən/ or /dʒeɪˈsɒn/ | ||
| YAML | YAM-ul | /ˈjæməl/ | ||
| OAuth | oh-AWTH | /oʊˈɔːθ/ | ||
| JWT | jot | /dʒɒt/ | ||
| Docker | DOCK-er | /ˈdɒkər/ | ||
| Redis | RED-iss | /ˈrɛdɪs/ | ||
| Kafka | KAHF-kuh | /ˈkɑːfkə/ | ||
| Linux | LIN-uks | /ˈlɪnəks/ | ||
| Ubuntu | oo-BOON-too | /ʊˈbʊntuː/ | ||
| Debian | DEB-ee-un | /ˈdɛbiən/ | ||
| GNU | guh-NOO | /ɡəˈnuː/ | ||
| Bash | bash | /bæʃ/ | ||
| Git | git | /ɡɪt/ | ||
| Vite | veet | /viːt/ | ||
| Nuxt | nuhkst | /nʌkst/ | ||
| Xcode | X-code | /ˈɛks koʊd/ | ||
| Azure | AZH-ur | /ˈæʒər/ | ||
| SaaS | sass | /sæs/ | ||
| API | A-P-I | /ˌeɪ piː ˈaɪ/ | ||
| Grafana | gruh-FAH-nuh | /ɡrəˈfɑːnə/ | ||
| Jupyter | JOO-pih-ter | /ˈdʒuːpɪtər/ | ||
| Python | PY-thon | /ˈpaɪθɒn/ | ||
| NumPy | NUM-pie | /ˈnʌmpaɪ/ | ||
| pandas | PAN-duhz | /ˈpændəz/ | ||
| Go | go | /ɡoʊ/ | ||
| Rust | rust | /rʌst/ | ||
| NoSQL | no-S-Q-L | /ˌnoʊ ˈɛs kjuː ˈɛl/ | ||
| MongoDB | MON-go-D-B | /ˈmɒŋɡoʊ diː biː/ | ||
| Caddy | CAD-ee | /ˈkædi/ | ||
| NuGet | NEW-get | /ˈnjuːɡɛt/ | ||
| cache | cash | /kæʃ/ | ||
| tuple | TOO-pul / TUH-pul | /ˈtuːpəl/ or /ˈtʌpəl/ | ||
| regex | REG-ex / REJ-ex | /ˈrɛɡɛks/ or /ˈrɛdʒɛks/ | ||
| GUI | GOO-ee / G-U-I | /ˈɡuːi/ or /ˌdʒiː juː ˈaɪ/ | ||
| cron | cron | /krɒn/ | ||
| daemon | DEE-mun | /ˈdiːmən/ | ||
| kubectl | cube-cuttle | /ˈkjuːb kʌtl/ | ||
| Wi-Fi | WHY-fie | /ˈwaɪ faɪ/ | ||
| iOS | i-O-S | /ˌaɪ oʊ ˈɛs/ | ||
| Ruby | ROO-bee | /ˈruːbi/ | ||
| Scala | SKAH-luh | /ˈskɑːlə/ | ||
| Elixir | ih-LIK-ser | /ɪˈlɪksər/ | ||
| Svelte | svelt | /svɛlt/ | ||
| Deno | DEE-no | /ˈdiːnoʊ/ | ||
| pnpm | P-N-P-M | /ˌpiː ɛn piː ˈɛm/ | ||
| webpack | WEB-pack | /ˈwɛb pæk/ | ||
| Babel | BAY-bul | /ˈbeɪbəl/ | ||
| ESLint | ES-lint | /ˌiː ɛs ˈlɪnt/ | ||
| Sass | sass | /sæs/ | ||
| GraphQL | graph-Q-L | /ˈɡræf kjuː ɛl/ | ||
| AJAX | AY-jacks | /ˈeɪdʒæks/ | ||
| CI/CD | C-I-C-D | /ˌsiː aɪ siː ˈdiː/ | ||
| DevOps | DEV-ops | /ˈdɛvɒps/ | ||
| LLM | L-L-M | /ˌɛl ɛl ˈɛm/ | ||
| RAG | rag | /ræɡ/ | ||
| CUDA | KOO-duh | /ˈkuːdə/ | ||
| PyTorch | PIE-torch | /ˈpaɪ tɔːrtʃ/ | ||
| SSH | S-S-H | /ˌɛs ɛs ˈeɪtʃ/ | ||
| TLS | T-L-S | /ˌtiː ɛl ˈɛs/ |
Fix these words in your own TTS
The list as a standard W3C PLS lexicon and as JSON. The PLS uses alias rules, which ElevenLabs, Azure Speech, Amazon Polly and other PLS-aware engines load as is.
ElevenLabs: upload as a pronunciation dictionary
curl -s https://voicesmiths.com/pronounce/tech-terms.pls -o tech-terms.pls curl -X POST https://api.elevenlabs.io/v1/pronunciation-dictionaries/add-from-file \ -H "xi-api-key: $ELEVENLABS_API_KEY" \ -F name="tech-terms" \ -F file=@tech-terms.pls
Azure Speech: reference it from SSML
<speak version="1.0" xml:lang="en-US"
xmlns="http://www.w3.org/2001/10/synthesis">
<voice name="en-US-AvaMultilingualNeural">
<lexicon uri="https://voicesmiths.com/pronounce/tech-terms.pls"/>
Deploy it with kubectl behind nginx.
</voice>
</speak>Free to reuse
The list and the audio are released under CC BY 4.0: copy, adapt and use them commercially, as long as you credit VoiceSmiths and link to this page. CC BY 4.0
To credit it, you can paste this link:
<a href="https://voicesmiths.com/pronounce/developers">VoiceSmiths tech pronunciation guide</a>
In VoiceSmiths these words come out right by default
The pronunciation dictionary applies your readings to every generation, so a term sounds the same across long videos, audiobooks and courses.