# Free Text-to-Speech and MP3 Conversion for Mandarin Chinese

Published: September 10, 2025 · Author: Ankit Agarwal

For free Mandarin text to speech with an MP3 download, start with **ttsMP3** (1 Mandarin voice, 3,000 characters a day) or **Narakeet** (20 free conversions, many Mandarin voices). For more voices or commercial video, paid plans from Kveeky, ElevenLabs or Narakeet cost a few dollars. Always check tones and polyphonic characters before you publish.

*Last updated: October 6, 2026. Free limits and prices below were checked on each vendor's own page on that date.*

This guide is for teachers, students, video creators and marketers who need Mandarin Chinese audio as a file. It compares free options, shows the conversion steps, and explains how to fix the tone and pronunciation errors that Mandarin voices make most often.

<div style="margin:28px 0;padding:20px 22px;background:var(--kv-blue-50);border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-md)"><div style="font:700 17px/1.3 var(--kv-font-heading);color:var(--kv-blue-950);margin-bottom:8px">Quick answer</div><p style="margin:0;font:400 16px/1.6 var(--kv-font-body);color:var(--kv-gray-800)">For a free Mandarin MP3, use ttsMP3 (1 voice, about 3,000 characters a day, commercial use allowed per its FAQ) or Narakeet (20 free conversions, non-commercial). Kveeky's Mandarin voices are premium, so they need a paid plan from $9/month. Check tones and polyphonic characters before you publish.</p></div>

> **Key Takeaways**
>
> - **ttsMP3 supports Mandarin** with 1 voice, Zhiyu, and a free limit of about 3,000 characters a day. Its FAQ allows commercial use of the MP3 files.
> - **Narakeet lists 116 Mandarin voices**, plus Taiwanese Mandarin and Cantonese. Its free account gives 20 conversions, for non-commercial use.
> - **Kveeky's Mandarin Chinese voices are premium voices**, so you need a paid plan (from $9/month) to download them. The free plan uses standard voices only.
> - **Tones and polyphonic characters cause most errors.** Characters such as 行 and 重 have 2 readings, and context decides which one the voice uses.
> - **Pick the right variety.** Mainland Mandarin, Taiwanese Mandarin and Cantonese are different voice choices.

**On this page:** [Tools compared](#free-mandarin-tts-tools-compared) · [ttsMP3](#ttsmp3-and-mandarin) · [Convert to MP3](#converting-mandarin-text-to-mp3) · [Tones](#why-mandarin-is-hard) · [Fix pronunciation](#fixing-pronunciation-errors) · [Which variety](#mandarin-or-cantonese) · [In Kveeky](#mandarin-voiceovers-in-kveeky) · [Video tips](#tips-for-video-voiceovers) · [FAQ](#frequently-asked-questions)

## Free Mandarin TTS tools compared

Free limits and prices were checked on each vendor's own page on October 6, 2026.

<div style="margin:16px 0 12px"><label for="mz-q" style="display:block;margin-bottom:6px;font:600 15px/1.4 var(--kv-font-body);color:var(--kv-gray-800)">Filter the table (try "Cantonese", "MP3" or "Azure")</label><input id="mz-q" type="search" placeholder="Type to filter the rows" style="width:100%;box-sizing:border-box;min-height:44px;padding:0 12px;border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-sm);font:400 16px/1 var(--kv-font-body);color:var(--kv-gray-800);background:var(--kv-white)"><label style="display:flex;gap:10px;align-items:center;margin-top:10px;font:400 15px/1.4 var(--kv-font-body);color:var(--kv-gray-800)"><input id="mz-c" type="checkbox" style="width:20px;height:20px;accent-color:var(--kv-blue-700)"> Show only tools whose free option allows commercial use</label><p id="mz-n" aria-live="polite" style="margin:8px 0 0;font:400 14px/1.4 var(--kv-font-body);color:var(--kv-gray-600)"></p><script>(function(){try{var q=document.getElementById("mz-q"),c=document.getElementById("mz-c"),n=document.getElementById("mz-n");if(!q||!c||!n)return;var box=q.parentNode,t=box.nextElementSibling;var g=0;while(t&&t.tagName!="TABLE"&&g<5){t=t.nextElementSibling;g++}if(!t||t.tagName!="TABLE")return;function f(){var s=q.value.toLowerCase().trim(),rs=t.querySelectorAll("tbody tr"),k=0;for(var i=0;i<rs.length;i++){var tds=rs[i].querySelectorAll("td");var ok=!s||rs[i].textContent.toLowerCase().indexOf(s)>-1;if(ok&&c.checked){ok=tds.length>3&&tds[3].textContent.trim().toLowerCase().indexOf("yes")===0}rs[i].style.display=ok?"":"none";if(ok)k++}n.textContent=k+" of "+rs.length+" tools shown"}q.addEventListener("input",f);c.addEventListener("change",f);f()}catch(e){}})();</script></div>

<table>
<thead>
<tr><th>Tool</th><th>Mandarin voices</th><th>Free option</th><th>Commercial use on free</th><th>Paid from</th></tr>
</thead>
<tbody>
<tr><td><strong>ttsMP3</strong></td><td>1 (Zhiyu)</td><td>About 3,000 characters a day, MP3 download</td><td>Yes, per its FAQ</td><td>Paid packages for more text</td></tr>
<tr><td><strong>Narakeet</strong></td><td>116 Mandarin, plus Taiwanese Mandarin and Cantonese</td><td>20 conversions; MP3, WAV or M4A</td><td>No</td><td>$6 for 30 minutes, pay as you go</td></tr>
<tr><td><strong>ElevenLabs</strong></td><td>Chinese supported in Multilingual v2 and newer models</td><td>10,000 credits a month</td><td>No</td><td>$6/month Starter</td></tr>
<tr><td><strong>Microsoft Azure AI Speech</strong></td><td>Mainland and Taiwanese Mandarin, Cantonese, plus regional Mandarin voices</td><td>0.5 million characters a month (developer account)</td><td>Check Azure's terms</td><td>Pay as you go</td></tr>
<tr><td><strong>Kveeky</strong></td><td>Mandarin Chinese voices (premium)</td><td>Free plan: 500 credits/month, standard voices only (no Mandarin)</td><td>Commercial rights on paid plans</td><td>$9/month, or $7.50/month billed yearly</td></tr>
</tbody>
</table>

Where each one wins:

- **ttsMP3** is the fastest way to get one short MP3 for free.
- **Narakeet** has the widest choice of Mandarin voices and suits longer audio you buy by the minute.
- **ElevenLabs** suits expressive delivery and voice cloning, but its free plan has no commercial license.
- **Azure** covers the most Chinese varieties, if you are comfortable with a developer console.
- **Kveeky** suits creators who also need other languages and emotion control in one simple editor.

<div style="margin:28px 0;padding:20px 22px;background:var(--kv-blue-50);border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-md)"><div style="font:700 17px/1.3 var(--kv-font-heading);color:var(--kv-blue-950);margin-bottom:8px">Which free Mandarin option fits my job?</div><p style="margin:0 0 12px;font:400 15px/1.5 var(--kv-font-body);color:var(--kv-gray-600)">Pick what you need. The answers use only the table above (limits checked October 6, 2026).</p><div style="display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px"><label style="flex:1 1 200px;min-width:0;font:600 15px/1.4 var(--kv-font-body);color:var(--kv-gray-800)">I need<select id="mz1-s" style="display:block;width:100%;box-sizing:border-box;min-height:44px;margin-top:6px;padding:0 12px;border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-sm);font:400 16px/1 var(--kv-font-body);color:var(--kv-gray-800);background:var(--kv-white)"><option value="0">One short MP3, free and fast</option><option value="1">Free audio I can use commercially</option><option value="2">The widest choice of Mandarin voices</option><option value="3">Voices for a Taiwan audience</option><option value="4">Cantonese</option><option value="5">Pause and emphasis control (SSML)</option><option value="6">Mandarin plus other languages in one editor</option></select></label></div><div id="mz1-o" aria-live="polite" style="padding:14px 16px;background:var(--kv-white);border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-sm);font:400 16px/1.6 var(--kv-font-body);color:var(--kv-gray-800)"></div><script>(function(){try{var d=["<strong>ttsMP3.</strong> 1 Mandarin voice (Zhiyu), about 3,000 characters a day, MP3 download.", "<strong>ttsMP3 on the free tier.</strong> Its FAQ allows commercial use of the MP3 files. Narakeet's free account and ElevenLabs' free plan do not. Re-read each vendor's terms before you publish.", "<strong>Narakeet.</strong> It lists 116 Mandarin voices, plus Taiwanese Mandarin and Cantonese. The free account gives 20 conversions, for non-commercial use; $6 buys 30 minutes, pay as you go.", "<strong>Narakeet or Azure.</strong> Both list Taiwanese Mandarin. Write the script in Traditional characters for Taiwan.", "<strong>Narakeet or Azure.</strong> Both list Cantonese. Hong Kong and Macau audiences read Traditional characters.", "<strong>ttsMP3 or Azure.</strong> ttsMP3 accepts Amazon Polly SSML tags; Azure gives more control if you are comfortable with a developer console. For creator tools, rewording is usually faster.", "<strong>Kveeky.</strong> Its Mandarin voices are premium, so you need a paid plan (from $9/month, or $7.50/month billed yearly). Preview them on the <a href=\"/languages/chinese-text-to-speech\" style=\"color:var(--kv-blue-700)\">Chinese text to speech page</a>."],s=document.getElementById("mz1-s"),o=document.getElementById("mz1-o");if(!s||!o)return;function u(){var r=d[+s.value];if(r)o.innerHTML=r}s.addEventListener("change",u);u()}catch(e){}})();</script></div>

## ttsMP3 and Mandarin

Yes. ttsMP3 offers 1 Mandarin Chinese voice, called Zhiyu. The free limit is about 375 words or 3,000 characters a day, and you can download the result as an MP3 ([ttsMP3](https://ttsmp3.com/), retrieved 2026-10-06).

ttsMP3 also accepts SSML tags based on Amazon Polly, so you can add pauses and emphasis. Its FAQ says you may use the MP3 files in commercial and non-commercial projects, including YouTube videos and e-learning ([ttsMP3 FAQ](https://ttsmp3.com/faq), retrieved 2026-10-06).

The trade-off is choice. With 1 Mandarin voice, every video sounds the same, and you can't pick a male voice or a Taiwanese accent.

## Converting Mandarin text to MP3

The steps are similar in every tool.

1. **Prepare the text in Chinese characters.** Use Simplified characters for Mainland audiences and Traditional for Taiwan or Hong Kong.
2. **Add punctuation.** Use Chinese commas (，) and full stops (。) so the voice pauses in the right places.
3. **Paste the text** into the tool and choose a Mandarin voice.
4. **Preview the first 2 sentences.** Listen for wrong tones before you convert the whole script.
5. **Fix problem words** (see the next sections), then generate the full audio.
6. **Download the MP3**, or WAV if you plan to edit the audio further.

Free daily limits are small. 3,000 characters is fine for a short lesson or a 1-minute video, but not for a full course.

<figure>
<svg viewBox="0 0 1200 680" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="free-text-to-speech-mandarin-chinese-mp3-fig-t free-text-to-speech-mandarin-chinese-mp3-fig-d" style="width:100%;height:auto;display:block">
<title id="free-text-to-speech-mandarin-chinese-mp3-fig-t">Converting Mandarin Chinese text to MP3 in 6 steps</title>
<desc id="free-text-to-speech-mandarin-chinese-mp3-fig-d">Six steps: 1, prepare the text in Chinese characters, Simplified or Traditional; 2, add Chinese commas and full stops so the voice pauses in the right places; 3, paste the text and choose a Mandarin voice; 4, preview the first 2 sentences and listen for wrong tones; 5, fix problem words, then generate the full audio; 6, download the MP3, or a WAV if you plan to edit it.</desc>
<rect x="0" y="0" width="1200" height="680" rx="16" fill="#ffffff" stroke="#dbeafe" stroke-width="2"/>
<text x="600" y="62" font-family="var(--kv-font-heading)" font-size="36" font-weight="700" fill="#111827" text-anchor="middle">Mandarin text to MP3 in 6 steps</text>
<rect x="30" y="100" width="350" height="220" rx="14" fill="#eff6ff" stroke="#dbeafe" stroke-width="2"/>
<circle cx="72" cy="146" r="26" fill="#1d4ed8"/><text x="72" y="155" font-family="var(--kv-font-body)" font-size="26" font-weight="700" fill="#ffffff" text-anchor="middle">1</text>
<text x="110" y="156" font-family="var(--kv-font-body)" font-size="28" font-weight="700" fill="#111827">Prepare text</text>
<text x="56" y="212" font-family="var(--kv-font-body)" font-size="26" fill="#374151">Chinese characters:</text>
<text x="56" y="248" font-family="var(--kv-font-body)" font-size="26" fill="#374151">Simplified or</text>
<text x="56" y="284" font-family="var(--kv-font-body)" font-size="26" fill="#374151">Traditional</text>
<line x1="382" y1="220" x2="411" y2="220" stroke="#1d4ed8" stroke-width="4"/><polygon points="409,209 409,231 423,220" fill="#1d4ed8"/>
<rect x="425" y="100" width="350" height="220" rx="14" fill="#eff6ff" stroke="#dbeafe" stroke-width="2"/>
<circle cx="467" cy="146" r="26" fill="#1d4ed8"/><text x="467" y="155" font-family="var(--kv-font-body)" font-size="26" font-weight="700" fill="#ffffff" text-anchor="middle">2</text>
<text x="505" y="156" font-family="var(--kv-font-body)" font-size="28" font-weight="700" fill="#111827">Punctuate</text>
<text x="451" y="212" font-family="var(--kv-font-body)" font-size="26" fill="#374151">Chinese commas and</text>
<text x="451" y="248" font-family="var(--kv-font-body)" font-size="26" fill="#374151">full stops (，。)</text>
<text x="451" y="284" font-family="var(--kv-font-body)" font-size="26" fill="#374151">so pauses land right</text>
<line x1="777" y1="220" x2="806" y2="220" stroke="#1d4ed8" stroke-width="4"/><polygon points="804,209 804,231 818,220" fill="#1d4ed8"/>
<rect x="820" y="100" width="350" height="220" rx="14" fill="#eff6ff" stroke="#dbeafe" stroke-width="2"/>
<circle cx="862" cy="146" r="26" fill="#1d4ed8"/><text x="862" y="155" font-family="var(--kv-font-body)" font-size="26" font-weight="700" fill="#ffffff" text-anchor="middle">3</text>
<text x="900" y="156" font-family="var(--kv-font-body)" font-size="28" font-weight="700" fill="#111827">Pick a voice</text>
<text x="846" y="212" font-family="var(--kv-font-body)" font-size="26" fill="#374151">Paste the text,</text>
<text x="846" y="248" font-family="var(--kv-font-body)" font-size="26" fill="#374151">choose a Mandarin</text>
<text x="846" y="284" font-family="var(--kv-font-body)" font-size="26" fill="#374151">voice</text>
<rect x="30" y="380" width="350" height="220" rx="14" fill="#eff6ff" stroke="#dbeafe" stroke-width="2"/>
<circle cx="72" cy="426" r="26" fill="#1d4ed8"/><text x="72" y="435" font-family="var(--kv-font-body)" font-size="26" font-weight="700" fill="#ffffff" text-anchor="middle">4</text>
<text x="110" y="436" font-family="var(--kv-font-body)" font-size="28" font-weight="700" fill="#111827">Preview</text>
<text x="56" y="492" font-family="var(--kv-font-body)" font-size="26" fill="#374151">Play the first</text>
<text x="56" y="528" font-family="var(--kv-font-body)" font-size="26" fill="#374151">2 sentences, listen</text>
<text x="56" y="564" font-family="var(--kv-font-body)" font-size="26" fill="#374151">for wrong tones</text>
<line x1="382" y1="500" x2="411" y2="500" stroke="#1d4ed8" stroke-width="4"/><polygon points="409,489 409,511 423,500" fill="#1d4ed8"/>
<rect x="425" y="380" width="350" height="220" rx="14" fill="#eff6ff" stroke="#dbeafe" stroke-width="2"/>
<circle cx="467" cy="426" r="26" fill="#1d4ed8"/><text x="467" y="435" font-family="var(--kv-font-body)" font-size="26" font-weight="700" fill="#ffffff" text-anchor="middle">5</text>
<text x="505" y="436" font-family="var(--kv-font-body)" font-size="28" font-weight="700" fill="#111827">Fix words</text>
<text x="451" y="492" font-family="var(--kv-font-body)" font-size="26" fill="#374151">Fix problem words,</text>
<text x="451" y="528" font-family="var(--kv-font-body)" font-size="26" fill="#374151">then generate the</text>
<text x="451" y="564" font-family="var(--kv-font-body)" font-size="26" fill="#374151">full audio</text>
<line x1="777" y1="500" x2="806" y2="500" stroke="#1d4ed8" stroke-width="4"/><polygon points="804,489 804,511 818,500" fill="#1d4ed8"/>
<rect x="820" y="380" width="350" height="220" rx="14" fill="#eff6ff" stroke="#dbeafe" stroke-width="2"/>
<circle cx="862" cy="426" r="26" fill="#1d4ed8"/><text x="862" y="435" font-family="var(--kv-font-body)" font-size="26" font-weight="700" fill="#ffffff" text-anchor="middle">6</text>
<text x="900" y="436" font-family="var(--kv-font-body)" font-size="28" font-weight="700" fill="#111827">Download</text>
<text x="846" y="492" font-family="var(--kv-font-body)" font-size="26" fill="#374151">MP3, or WAV if you</text>
<text x="846" y="528" font-family="var(--kv-font-body)" font-size="26" fill="#374151">plan to edit it</text>
<path d="M995 322 V350 H205 V366" fill="none" stroke="#1d4ed8" stroke-width="4"/><polygon points="194,364 216,364 205,378" fill="#1d4ed8"/>
<text x="600" y="640" font-family="var(--kv-font-body)" font-size="26" font-style="italic" fill="#6b7280" text-anchor="middle">3,000 characters: fine for a short lesson or 1-minute video.</text>
</svg>
<figcaption>Preview 2 sentences and fix problem words before you convert the whole script, so a wrong tone doesn't reach the final MP3.</figcaption>
</figure>

<div style="margin:28px 0;padding:20px 22px;background:var(--kv-blue-50);border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-md)"><div style="font:700 17px/1.3 var(--kv-font-heading);color:var(--kv-blue-950);margin-bottom:8px">How many days of the ttsMP3 free limit does my script take?</div><p style="margin:0 0 12px;font:400 15px/1.5 var(--kv-font-body);color:var(--kv-gray-600)">The free limit is about 3,000 characters a day (about 375 words). Count your Chinese characters and punctuation. This is an estimate based on that limit.</p><div style="display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px"><label style="flex:1 1 200px;min-width:0;font:600 15px/1.4 var(--kv-font-body);color:var(--kv-gray-800)">Characters per script<input id="mz2-c" type="number" inputmode="decimal" value="1200" min="0" max="1000000" step="50" style="display:block;width:100%;box-sizing:border-box;min-height:44px;margin-top:6px;padding:0 12px;border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-sm);font:400 16px/1 var(--kv-font-body);color:var(--kv-gray-800);background:var(--kv-white)"></label><label style="flex:1 1 200px;min-width:0;font:600 15px/1.4 var(--kv-font-body);color:var(--kv-gray-800)">Number of scripts<input id="mz2-s" type="number" inputmode="decimal" value="3" min="0" max="1000" step="1" style="display:block;width:100%;box-sizing:border-box;min-height:44px;margin-top:6px;padding:0 12px;border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-sm);font:400 16px/1 var(--kv-font-body);color:var(--kv-gray-800);background:var(--kv-white)"></label></div><div id="mz2-o" aria-live="polite" style="padding:14px 16px;background:var(--kv-white);border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-sm);font:400 16px/1.6 var(--kv-font-body);color:var(--kv-gray-800)"></div><script>(function(){try{var ids=["mz2-c", "mz2-s"],o=document.getElementById("mz2-o"),el=[];if(!o)return;for(var i=0;i<ids.length;i++){var e=document.getElementById(ids[i]);if(!e)return;el.push(e)}function u(){var v=[];for(var i=0;i<el.length;i++){var n=parseFloat(el[i].value);v.push(isNaN(n)||n<0?0:n)}var tot=v[0]*v[1],d=Math.ceil(tot/3000),t="<strong>"+tot.toLocaleString()+" characters in total.</strong> ";t+=tot==0?"Enter your script length to start.":(d<=1?"That fits in one day of the free ttsMP3 limit.":"That is about <strong>"+d+" days</strong> of the free ttsMP3 limit. Narakeet's 20 free conversions or a paid plan may suit it better.");o.innerHTML=t}for(var j=0;j<el.length;j++){el[j].addEventListener("input",u)}u()}catch(e){}})();</script></div>

## Why Mandarin is hard

Mandarin is a tonal language. The same syllable with a different pitch pattern is a different word, so a wrong tone changes the meaning, not only the accent.

3 things cause most errors:

- **Polyphonic characters (多音字).** 行 is xíng in 行走 (to walk) but háng in 银行 (bank). 重 is zhòng (heavy) or chóng in 重新 (again). The voice guesses from context.
- **Tone changes in speech.** 不 (bù) is said bú before a 4th-tone syllable, as in 不是. 2 3rd tones in a row also change, so 你好 sounds like ní hǎo.
- **Numbers, dates and Latin letters.** "2026年" or an English brand name inside Chinese text can be read in unexpected ways.

<details style="margin:16px 0;padding:14px 18px;background:var(--kv-white);border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-md)"><summary style="cursor:pointer;font:700 16px/1.4 var(--kv-font-heading);color:var(--kv-blue-950)">Show me: the tricky readings, with examples</summary><div style="margin-top:10px;font:400 16px/1.6 var(--kv-font-body);color:var(--kv-gray-800)"><ul style="margin:0;padding-left:20px"><li>行 in 行走 (to walk): <strong>xíng</strong></li><li>行 in 银行 (bank): <strong>háng</strong></li><li>重 meaning heavy: <strong>zhòng</strong></li><li>重 in 重新 (again): <strong>chóng</strong></li><li>不 before a 4th-tone syllable, as in 不是: <strong>bú</strong></li><li>Two 3rd tones in a row, as in 你好: sounds like <strong>ní hǎo</strong></li></ul></div></details>

## Fixing pronunciation errors

You can fix most errors by giving the voice clearer text. You rarely need special markup.

- **Add context.** A character read alone is a guess. In a full phrase, the voice usually picks the right reading.
- **Swap in a synonym.** If 重 keeps coming out wrong, rewrite the phrase with a word that has only one reading.
- **Write numbers in characters** when the reading matters, such as 两千零二十六年 instead of 2026年.
- **Test brand names.** Decide whether the name should be read in English or Chinese, and write it that way.
- **Use pinyin as a guide, not as input.** Pinyin, the standard romanization for Mandarin, helps you check what the voice should say. Pinyin typed as plain text may not be read the way you expect.

Developer services such as Azure and ttsMP3's Polly-based SSML support give you more control over pauses and emphasis. For creator tools, rewording is usually faster.

<div style="margin:28px 0;padding:20px 22px;background:var(--kv-blue-50);border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-md)"><div style="font:700 17px/1.3 var(--kv-font-heading);color:var(--kv-blue-950);margin-bottom:8px">Mandarin MP3 checklist: tick before you convert</div><p style="margin:0 0 12px;font:400 15px/1.5 var(--kv-font-body);color:var(--kv-gray-600)">Based on the steps and fixes in this guide. Your ticks stay in this browser only.</p><ul style="list-style:none;margin:0 0 12px;padding:0"><li style="margin:0 0 8px"><label style="display:flex;gap:10px;align-items:flex-start;font:400 16px/1.5 var(--kv-font-body);color:var(--kv-gray-800)"><input type="checkbox" class="mz3-c" style="flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--kv-blue-700)"><span style="min-width:0">Text is in Chinese characters: Simplified for Mainland audiences, Traditional for Taiwan or Hong Kong</span></label></li><li style="margin:0 0 8px"><label style="display:flex;gap:10px;align-items:flex-start;font:400 16px/1.5 var(--kv-font-body);color:var(--kv-gray-800)"><input type="checkbox" class="mz3-c" style="flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--kv-blue-700)"><span style="min-width:0">Chinese commas and full stops are in place so the voice pauses correctly</span></label></li><li style="margin:0 0 8px"><label style="display:flex;gap:10px;align-items:flex-start;font:400 16px/1.5 var(--kv-font-body);color:var(--kv-gray-800)"><input type="checkbox" class="mz3-c" style="flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--kv-blue-700)"><span style="min-width:0">I chose the variety my audience speaks: Mandarin, Taiwanese Mandarin or Cantonese</span></label></li><li style="margin:0 0 8px"><label style="display:flex;gap:10px;align-items:flex-start;font:400 16px/1.5 var(--kv-font-body);color:var(--kv-gray-800)"><input type="checkbox" class="mz3-c" style="flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--kv-blue-700)"><span style="min-width:0">I previewed the first 2 sentences and listened for wrong tones</span></label></li><li style="margin:0 0 8px"><label style="display:flex;gap:10px;align-items:flex-start;font:400 16px/1.5 var(--kv-font-body);color:var(--kv-gray-800)"><input type="checkbox" class="mz3-c" style="flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--kv-blue-700)"><span style="min-width:0">Tricky characters (行, 重) are in a full phrase, or reworded with a one-reading synonym</span></label></li><li style="margin:0 0 8px"><label style="display:flex;gap:10px;align-items:flex-start;font:400 16px/1.5 var(--kv-font-body);color:var(--kv-gray-800)"><input type="checkbox" class="mz3-c" style="flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--kv-blue-700)"><span style="min-width:0">Numbers that matter are written in characters, and brand names are decided (English or Chinese)</span></label></li><li style="margin:0 0 8px"><label style="display:flex;gap:10px;align-items:flex-start;font:400 16px/1.5 var(--kv-font-body);color:var(--kv-gray-800)"><input type="checkbox" class="mz3-c" style="flex:0 0 20px;width:20px;height:20px;margin-top:2px;accent-color:var(--kv-blue-700)"><span style="min-width:0">A native speaker has listened once</span></label></li></ul><div id="mz3-p" aria-live="polite" style="padding:14px 16px;background:var(--kv-white);border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-sm);font:400 16px/1.6 var(--kv-font-body);color:var(--kv-gray-800)"></div><script>(function(){try{var cs=document.querySelectorAll(".mz3-c"),p=document.getElementById("mz3-p");if(!cs.length||!p)return;var k="kv-mz3";var st=[];try{st=JSON.parse(localStorage.getItem(k)||"[]")}catch(e){st=[]}for(var i=0;i<cs.length;i++){if(st[i])cs[i].checked=true;cs[i].addEventListener("change",u)}function u(){var n=0,a=[];for(var i=0;i<cs.length;i++){a.push(cs[i].checked);if(cs[i].checked)n++}try{localStorage.setItem(k,JSON.stringify(a))}catch(e){}p.textContent=n+" of "+cs.length+" done"+(n==cs.length?". Ready to convert the full script.":".")}u()}catch(e){}})();</script></div>

<div style="margin:28px 0;padding:20px 22px;background:var(--kv-blue-50);border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-md)"><div style="font:700 17px/1.3 var(--kv-font-heading);color:var(--kv-blue-950);margin-bottom:8px">Copy-ready tone test: paste this into any tool</div><p style="margin:0 0 12px;font:400 15px/1.5 var(--kv-font-body);color:var(--kv-gray-600)">It packs the tricky cases from this guide (行 in 银行 and 行走, 重新, 不是, 你好, a year in characters). Listen for háng vs xíng, chóng, bú and ní hǎo.</p><pre id="mz4-t" style="margin:0 0 12px;padding:14px 16px;background:var(--kv-white);border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-sm);font:400 15px/1.6 var(--kv-font-body);color:var(--kv-gray-800);white-space:pre-wrap;overflow-wrap:anywhere;min-width:0">我去银行。
行走很重要。
请重新开始。
这不是问题。
你好。
现在是两千零二十六年。</pre><button type="button" id="mz4-b" style="min-height:44px;padding:0 16px;border:0;border-radius:var(--kv-radius-sm);background:var(--kv-blue-700);color:var(--kv-white);font:700 15px/1 var(--kv-font-body);cursor:pointer">Copy text</button> <span id="mz4-m" aria-live="polite" style="font:400 14px/1.4 var(--kv-font-body);color:var(--kv-gray-600)"></span><script>(function(){try{var t=document.getElementById("mz4-t"),b=document.getElementById("mz4-b"),m=document.getElementById("mz4-m");if(!t||!b||!m)return;b.addEventListener("click",function(){var x=t.textContent;try{navigator.clipboard.writeText(x).then(function(){m.textContent="Copied."},function(){m.textContent="Select the text and copy it."})}catch(e){m.textContent="Select the text and copy it."}})}catch(e){}})();</script></div>

## Mandarin or Cantonese?

"Chinese" is not one voice choice. Pick the variety your audience speaks.

<table>
<thead>
<tr><th>Audience</th><th>Spoken variety</th><th>Written form</th></tr>
</thead>
<tbody>
<tr><td>Mainland China, Singapore, most learners</td><td>Mandarin (Putonghua)</td><td>Simplified characters</td></tr>
<tr><td>Taiwan</td><td>Taiwanese Mandarin</td><td>Traditional characters</td></tr>
<tr><td>Hong Kong, Macau, Guangdong</td><td>Cantonese</td><td>Traditional characters in Hong Kong and Macau</td></tr>
</tbody>
</table>

Microsoft's Azure language list shows how wide the choice can be. It has separate voices for Mainland Mandarin, Taiwanese Mandarin, Cantonese, Wu and regional Mandarin such as Sichuan ([Azure language support](https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=tts), retrieved 2026-10-06). Most creator tools offer Mainland Mandarin first.

## Mandarin voiceovers in Kveeky

Kveeky has Mandarin Chinese voices, male and female, among its 700+ voices in 40+ languages. You paste Chinese text, pick a voice, adjust speed and volume, and download the audio.

Be clear on the limits. Our Mandarin voices are premium voices, and the free plan (500 credits a month, about 40 seconds) covers standard voices only. So for Mandarin audio you need a paid plan: Basic is $9/month, or $7.50/month billed yearly, with 100 minutes a month and commercial usage rights.

What helps with Mandarin work:

- **The Emotion setting** (Neutral, Happy, Love, Angry, Calm or Sad) for ads and lively shorts.
- **Speed control**, useful for language lessons where learners need a slower pace.
- **One editor for many languages**, if the same video also goes out in English, Hindi or Spanish.

You can preview the voices on our [Chinese text to speech page](https://kveeky.com/languages/chinese-text-to-speech) and compare plans on the [Kveeky pricing page](https://kveeky.com/pricing/).

<figure style="margin:28px 0;padding:0"><img src="/blog/product/app-voice-library.webp" alt="The Kveeky voice library with search, gender and language filters, and a FREE or PRO tag on each voice." width="1150" height="850" loading="lazy" decoding="async" style="display:block;width:100%;height:auto;border-radius:var(--kv-radius-md);border:1px solid var(--kv-blue-100)"><figcaption style="margin-top:10px;font:400 14px/1.5 var(--kv-font-body);color:var(--kv-gray-600)">Look at the language filter and the FREE or PRO tag on each voice in the Kveeky library. The Mandarin Chinese voices in Kveeky are premium voices, so they need a paid plan.</figcaption></figure>

## Tips for video voiceovers

A good voice can't save a script that was translated word for word. These habits make Mandarin video narration sound local.

- **Transcreate, don't translate.** Replace idioms and jokes with Chinese equivalents, or cut them.
- **Check the timing.** Read the Chinese script against the video. Adjust the edit if a scene runs short.
- **Match the voice to the brand.** A calm voice suits finance and training; a brighter voice suits retail and shorts.
- **Ask a native speaker to listen once.** They will catch a wrong tone in seconds.
- **Keep one voice per series**, so returning viewers hear a familiar narrator.

For the wider workflow across several languages, read our hub guide to [multilingual voiceover challenges](https://kveeky.com/blog/multilingual-voiceover-ai). If you are rolling one product video out to several markets, see [how to localize product videos without 5 budgets](https://kveeky.com/blog/localize-product-videos-budget-friendly). Publishing in Hindi too? Our comparison of the [best Hindi text to speech tools](https://kveeky.com/blog/hindi-text-to-speech-best-indian-voice-generator-2026) covers that language.

## Frequently asked questions

### Is there a free Mandarin text to speech with MP3 download?

Yes. ttsMP3 lets you download Mandarin MP3s for free up to about 3,000 characters a day. Narakeet gives 20 free conversions with MP3, WAV or M4A download, for non-commercial use.

### Does ttsMP3 support Chinese Mandarin?

Yes. ttsMP3 has 1 Mandarin Chinese voice, Zhiyu, with a free limit of about 3,000 characters a day and MP3 download. It also accepts Amazon Polly SSML tags.

### Can I use free Mandarin text to speech commercially?

Sometimes. ttsMP3's FAQ allows commercial use of its MP3 files. Narakeet's free account and ElevenLabs' free plan don't allow commercial use. Every paid Kveeky plan includes commercial usage rights.

### Can text to speech read pinyin?

Some voices accept pinyin, but most Mandarin voices are built to read Chinese characters. Write the script in characters and use pinyin to check what the voice should say.

### Is Chinese text to speech the same as Mandarin text to speech?

Not always. "Chinese" can mean Mandarin, Taiwanese Mandarin or Cantonese. Choose a voice for the variety your audience speaks and the matching Simplified or Traditional characters.

### Does Kveeky have free Mandarin voices?

No. Kveeky's Mandarin Chinese voices are premium voices, so you need a paid plan, from $9/month or $7.50/month billed yearly. The free plan covers standard voices only.

### Should I use Simplified or Traditional characters for Mandarin text to speech?

Use Simplified characters for Mainland China, Singapore and most learners, and Traditional characters for Taiwan, and for Cantonese in Hong Kong and Macau. Match the characters to the variety of the voice you choose.

### Why does the voice read 行 or 重 wrongly?

Both are polyphonic characters with 2 readings, and the voice guesses from context. Put the character in a full phrase, reword with a synonym that has one reading, or test the phrase in 2 tools.

### How much text can I convert for free with ttsMP3 in a day?

About 3,000 characters, or roughly 375 words, a day. That suits a short lesson or a 1-minute video but not a full course. Use the planner above to see how many days a script takes.

<div style="margin:28px 0;padding:20px 22px;background:var(--kv-blue-50);border:1px solid var(--kv-blue-100);border-radius:var(--kv-radius-md)"><div style="font:700 17px/1.3 var(--kv-font-heading);color:var(--kv-blue-950);margin-bottom:8px">Keep reading</div><ul style="margin:0;padding-left:20px;font:400 16px/1.6 var(--kv-font-body);color:var(--kv-gray-800)"><li style="margin:0 0 6px"><a href="/blog/multilingual-voiceover-ai" style="color:var(--kv-blue-700)">Multilingual voiceover: the full guide</a></li><li style="margin:0 0 6px"><a href="/blog/localize-product-videos-budget-friendly" style="color:var(--kv-blue-700)">Localize product videos on a budget</a></li><li style="margin:0 0 6px"><a href="/blog/hindi-text-to-speech-best-indian-voice-generator-2026" style="color:var(--kv-blue-700)">Best Hindi text to speech tools</a></li><li style="margin:0 0 6px"><a href="/blog/ai-voice-commercial-use-rights" style="color:var(--kv-blue-700)">AI voice commercial use: rights by plan</a></li><li style="margin:0 0 6px"><a href="/blog/free-vs-paid-text-to-speech" style="color:var(--kv-blue-700)">Free vs paid text to speech</a></li><li style="margin:0 0 6px"><a href="/blog/10-best-free-ai-voice-generatorover-tools" style="color:var(--kv-blue-700)">10 best free AI voiceover generators</a></li><li style="margin:0 0 6px"><a href="/languages/chinese-text-to-speech" style="color:var(--kv-blue-700)">Chinese text to speech voices</a></li><li style="margin:0 0 6px"><a href="https://kveeky.com/pricing" style="color:var(--kv-blue-700)">Kveeky pricing</a></li></ul></div>

## How we checked this guide

This guide is written by Ankit Agarwal for the [Kveeky team](https://kveeky.com/). **Disclosure: Kveeky makes an AI voice generator.** It is one of the tools compared here.

- ttsMP3 details come from [ttsmp3.com](https://ttsmp3.com/) and its [FAQ](https://ttsmp3.com/faq), retrieved October 6, 2026.
- Narakeet details come from its [Chinese voices page](https://www.narakeet.com/languages/chinese-text-to-speech/) and [pricing page](https://www.narakeet.com/docs/pricing/), retrieved October 6, 2026.
- ElevenLabs details come from its [models documentation](https://elevenlabs.io/docs/overview/models) and [pricing page](https://elevenlabs.io/pricing), retrieved October 6, 2026.
- Azure details come from its [language support page](https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=tts) and [Speech pricing page](https://azure.microsoft.com/en-us/pricing/details/speech/), retrieved October 6, 2026.
- Kveeky details come from [kveeky.com/pricing](https://kveeky.com/pricing/) and our voice catalog. No Kveeky usage data is used in this guide.

Next step: take the first 3 sentences of your script, include one tricky character such as 行 or 重, and compare how 2 tools read it. Then hear our voices on the [Mandarin Chinese voice preview page](https://kveeky.com/languages/chinese-text-to-speech) before you pick a plan.

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[
{"@type":"Question","name":"Is there a free Mandarin text to speech with MP3 download?","acceptedAnswer":{"@type":"Answer","text":"Yes. ttsMP3 lets you download Mandarin MP3s for free up to about 3,000 characters a day. Narakeet gives 20 free conversions with MP3, WAV or M4A download, for non-commercial use."}},
{"@type":"Question","name":"Does ttsMP3 support Chinese Mandarin?","acceptedAnswer":{"@type":"Answer","text":"Yes. ttsMP3 has 1 Mandarin Chinese voice, Zhiyu, with a free limit of about 3,000 characters a day and MP3 download. It also accepts Amazon Polly SSML tags."}},
{"@type":"Question","name":"Can I use free Mandarin text to speech commercially?","acceptedAnswer":{"@type":"Answer","text":"Sometimes. ttsMP3's FAQ allows commercial use of its MP3 files. Narakeet's free account and ElevenLabs' free plan don't allow commercial use. Every paid Kveeky plan includes commercial usage rights."}},
{"@type":"Question","name":"Can text to speech read pinyin?","acceptedAnswer":{"@type":"Answer","text":"Some voices accept pinyin, but most Mandarin voices are built to read Chinese characters. Write the script in characters and use pinyin to check what the voice should say."}},
{"@type":"Question","name":"Is Chinese text to speech the same as Mandarin text to speech?","acceptedAnswer":{"@type":"Answer","text":"Not always. \"Chinese\" can mean Mandarin, Taiwanese Mandarin or Cantonese. Choose a voice for the variety your audience speaks and the matching Simplified or Traditional characters."}},
{"@type":"Question","name":"Does Kveeky have free Mandarin voices?","acceptedAnswer":{"@type":"Answer","text":"No. Kveeky's Mandarin Chinese voices are premium voices, so you need a paid plan, from $9/month or $7.50/month billed yearly. The free plan covers standard voices only."}},
{"@type":"Question","name":"Should I use Simplified or Traditional characters for Mandarin text to speech?","acceptedAnswer":{"@type":"Answer","text":"Use Simplified characters for Mainland China, Singapore and most learners, and Traditional characters for Taiwan, and for Cantonese in Hong Kong and Macau. Match the characters to the variety of the voice you choose."}},
{"@type":"Question","name":"Why does the voice read \u884c or \u91cd wrongly?","acceptedAnswer":{"@type":"Answer","text":"Both are polyphonic characters with 2 readings, and the voice guesses from context. Put the character in a full phrase, reword with a synonym that has one reading, or test the phrase in 2 tools."}},
{"@type":"Question","name":"How much text can I convert for free with ttsMP3 in a day?","acceptedAnswer":{"@type":"Answer","text":"About 3,000 characters, or roughly 375 words, a day. That suits a short lesson or a 1-minute video but not a full course. Use the planner above to see how many days a script takes."}}
]}
</script>
