French text to speech turns written French into natural spoken audio, and the good engines now handle the two things that used to give synthetic voices away instantly: liaison (the linking of words like *les amis* into "lé-z-ami") and the choice between European French (fr-FR) and Canadian French (fr-CA) voices. Those are genuinely different products — a Parisian voice reading Québécois marketing copy sounds as off to a Montreal audience as the reverse does in France. This guide explains how French text to speech handles pronunciation, which locale to pick, and which tools produce the most natural results.
Why French is harder for TTS than it looks
French spelling is full of letters you don't pronounce — until suddenly you do. That's the liaison problem, and it's the single best test of a French voice:
- Mandatory liaisons must happen: *les enfants* is "lé-z-enfants," *vous avez* is "vou-z-avez." A voice that drops these sounds broken.
- Forbidden liaisons must not happen: no linking after *et*, and no liaison before an aspirated h (*les héros* is "lé éros," never "lé-z-éros").
- Optional liaisons are a register choice — formal speech uses more of them, casual speech fewer. The best neural voices pick a consistent, natural register.
Beyond liaison, French TTS has to handle elision (*l'homme*, *j'ai*), nasal vowels (*un bon vin blanc* contains four different ones), silent final consonants that surface in some contexts, and French numbers — *quatre-vingt-dix-sept* for 97 — plus the fr-CA wrinkle that Belgian and Swiss French say *nonante* instead. Modern neural engines from Azure, Google, Amazon, and ElevenLabs get the overwhelming majority of this right; the differences now show up in prosody and rhythm rather than outright errors.
fr-FR vs fr-CA: which French voice should you use?
Pick by audience, not by "correctness" — both are standard French, pronounced differently.
| fr-FR (France) | fr-CA (Canada/Québec) | |
|---|---|---|
| Audience | France, Belgium*, Switzerland*, most of Africa's French-speaking markets | Québec, Canadian French speakers |
| Sound | The "international French" most learners study | Affrication (*tu* sounds like "tsu," *dire* like "dzire"), different vowel qualities |
| Vocabulary fit | *courriel* rare, *email/mail* common | *courriel*, *magasiner*, *fin de semaine* read naturally |
| Voice availability | Largest catalogs everywhere | Smaller but solid: Azure (Sylvie, Jean), Amazon Polly (Gabrielle, Liam) |
*Azure also ships dedicated fr-BE and fr-CH voices if you need Belgian or Swiss French specifically.
The practical rule: e-learning and product content for Canada should use fr-CA — Québec audiences notice immediately, and Canadian French has legal standing in Québec commerce. Content for Europe, Africa, or a global French-speaking audience defaults to fr-FR.
Best French text to speech tools
| Tool | fr-FR voices | fr-CA voices | Strengths | Pricing model |
|---|---|---|---|---|
| Microsoft Azure Speech | Yes (Denise, Henri, more) | Yes (Sylvie, Jean) | Widest dialect coverage (also fr-BE, fr-CH), SSML control | Free monthly allowance, then per-million-character pricing |
| Amazon Polly | Yes (Léa, Rémi) | Yes (Gabrielle, Liam) | Low per-character cost, AWS integration | Per million characters; 12-month free tier |
| Google Cloud TTS | Yes | Yes | Excellent neural quality, big free tier (1M WaveNet characters/month at the time of writing) | ~$4–$16 per 1M characters by tier |
| ElevenLabs | Yes | Via multilingual models | Most expressive and emotional delivery, voice cloning | Free tier; paid from around $5/month |
| Speechify | Yes | — | Reading-focused apps, celebrity-style voices | Free tier; premium subscription (around $139/year at the time of writing) |
For developers producing narration at scale, Azure and Amazon Polly are the sensible defaults — cheap, stable, and controllable with SSML. For consumer reading (articles, PDFs, emails read aloud), an app like Speechify is more convenient than an API. And for the full cross-language tool landscape, start with our text to speech software guide.