Free plans are where most people start, and the pricing page only tells you so much. We signed up for each free plan below and ran the same script through it, then recorded what happened: what sign-up asked for, how much audio the script produced, how long it took, how much of the free allowance it used, and what the download looked like.
The table above shows each plan's official free allowance and license. The table below shows what we observed. For paid plans, use the pricing calculator; for license details, use the license checker.
Free plan test results
| Tool | Sign-up | Limit per generation | Audio from our 1,000-character script | Generation time | Free quota used | Download |
|---|---|---|---|---|---|---|
| Async Tested Visit siteChecked | Account needed No card No phone number No email verification | Not measured | 1 min 3 sec for 1,000 characters ≈ 952 characters per minute Voice: Jaziel | Streams as it generates First audio after about 5 sec | Balance unchanged | Audio watermark MP3 128 kbps stereo 44.1 kHz Export limit: 1 file |
| ElevenLabs Tested Visit siteChecked | Account needed No phone number Email verification Card: not verified | 10,000 characters | Couldn't run our script Unusual activity detected: "Free tier usage disabled. We've temporarily disabled free access from your connection due to unusually high activity from the same IP address." Shown on the first generation over a VPN, and again after switching VPN nodes; no credits were charged. | |||
| Fish Audio Tested Visit siteChecked | Account needed No card No phone number Email verification | 500 characters | 52 sec for 998 characters ≈ 1,149 characters per minute Voice: Verity (Fish Audio S2.1 Pro) Generated in 3 parts to fit the per-generation limit | 17 sec until the audio was ready Total over 3 parts | 998 credits deducted | No watermark heard MP3 128 kbps mono 44.1 kHz |
| Listnr Tested Visit siteChecked | Account needed No card No phone number Email verification | 500 characters | Couldn't run our script The trial shows "Words Remaining: 100" and a 500-character editor limit. A 466-character passage (82 words in the editor) and a 274-character one (48 words) were both refused with "Insufficient Word Balance, Please Purchase a plan", with no message on the page. A 10-word sentence did generate and reduced the balance to 80 words. | |||
| NaturalReader Tested Visit siteChecked | No account needed | 3,000 characters | 1 min 7 sec for 1,000 characters ≈ 896 characters per minute Voice: Umbriel | Not measured | Not measured | No watermark heard Export limit: No audio download on the free plan |
| Speechify Tested Visit siteChecked | Account needed No card No phone number No email verification | Not measured | 57 sec for 1,000 characters ≈ 1,056 characters per minute Voice: Beatrice (F) | Not measured | 57 credits deducted | No watermark heard MP3 64 kbps mono 24 kHz |
| TTSMaker Tested Visit siteChecked | No account needed Captcha on every generation | 1,000 characters | 1 min 11 sec for 1,000 characters ≈ 850 characters per minute Voice: Alayna (148, Unlimited) | 28 sec until the audio was ready | Balance unchanged | No watermark heard MP3 48 kbps mono 24 kHz |
| Typecast Tested Visit siteChecked | Account needed No card No phone number Email verification | Not measured | 1 min 5 sec for 1,000 characters ≈ 923 characters per minute Voice: Jackson | 12 sec until the audio was ready | 1,000 credits deducted | No watermark heard MP3 64 kbps mono 16 kHz Export limit: Credits are charged on download, not on generation |
| Uberduck Tested Visit siteChecked | Account needed No card No phone number Email verification | 1,500 characters | 1 min 15 sec for 1,000 characters ≈ 797 characters per minute Voice: ABBI | 6 sec until the audio was ready | 200 credits deducted | No watermark heard WAV 16 kHz mono |
| Voicemaker Tested Visit siteChecked | Account needed No card No phone number Email verification Captcha on every generation | 250 characters | 1 min 5 sec for 995 characters ≈ 913 characters per minute Voice: Thomas - Smooth and deep (Pro V1) Generated in 6 parts to fit the per-generation limit | 12 sec until the audio was ready Total over 6 parts | Not measured | No watermark heard MP3 192 kbps mono 48 kHz |
One run per tool with the same English script and default speed and settings. Audio length is the speech itself, read from the vendor's player or the generated file; an inserted watermark makes the downloaded file longer. Generation time comes from the vendor's own task record, network timing or player. A different voice or model can change both.
How much audio a free allowance buys
Free allowances are counted in characters or credits, not minutes. How many minutes you get depends on how fast the voice speaks. Across the plans that generated our script, the finished speech ran 797 to 1,149 characters per minute.
Our pricing calculator estimates 1,000 characters per minute when a vendor doesn't state minutes. That sits inside the range we measured, but a fast voice stretches a free allowance and a slow one shortens it. Treat any minute figure as an estimate for your voice, not a guarantee.
Watermarks and download limits
Async inserted an audio watermark into the file we downloaded, so the file ran longer than the speech. We heard no watermark from Fish Audio, NaturalReader, Speechify, TTSMaker, Typecast, Uberduck and Voicemaker. Check the download, not only the preview: a watermark may appear only in the exported file.
Some free plans also cap what you can take away. Async's free plan limits the number of exports, and TTSMaker keeps generated files for a short time only, so download what you need right away.
Sign-up and limits per generation
NaturalReader and TTSMaker needed no account at all. The other plans needed an account, and none asked for a phone number. Expect extra clicks at TTSMaker and Voicemaker, which asked for a human check on every generation.
Per-generation limits decide how you work with long text. Fish Audio's free plan takes 500 characters at a time, so a script has to be split. TTSMaker's homepage and pricing page state different per-conversion limits; the app accepted our 1,000-character script in one go.
When a free plan won't run
We couldn't run our script on ElevenLabs and Listnr, for two different reasons.
ElevenLabs: "Unusual activity detected"
On October 9, 2026, ElevenLabs blocked our first free generation with "Unusual activity detected". We were on a VPN; switching nodes did not help, and no credits were charged. We could not measure audio duration or quality from that run. This is an observation about our connection, not a claim that every free account is blocked.
For the official shared-IP rule and what to consider next, see ElevenLabs' free-plan block explained. The other rows on this page let you compare what happened on alternative free plans.
Listnr: trial word balance
Listnr's trial shows a small word balance and a 500-character editor limit. It refused two shorter passages of our script with "Insufficient Word Balance, Please Purchase a plan", and the page itself showed no error. A single short sentence did generate, and the balance dropped by twice its word count. Read a trial's word count as an upper bound, not a promise.
Free plans and commercial use
A free plan that works is not always one you can publish with. 10 of the 15 free plans we track explicitly forbid commercial use, and only Async and TTSMaker allow it on their free plans. Before you post monetized or client work, check the plan's license in our license checker.
We use free plans only to measure them. No audio on this site comes from a free plan.
How we ran the test
Each tool got one run of the same 1,000-character English script, which mixes plain sentences, numbers, a price, a time and an abbreviation. We used each app's default voice and settings unless the default voice wasn't English. We recorded the voice and model in the table, because both change the results.
One run is a snapshot, not a benchmark. Speeds vary with load, and limits change. We re-check every tool each month, and the dates in the table tell you when we last tested each free plan.