Best Text to Speech for Fanfiction in 2026: 7 Tools Compared
Best text to speech for fanfiction in 2026: LyricWinter gives each character their own voice from an AO3 link. Hear one scene both ways, plus free picks.
Posted by
Related reading
Text to Speech for Writers: Hear Your Chapter Before You Post
Text to speech for writers: LyricWinter gives every character a voice, so a line in the wrong voice points to a weak dialogue tag. The test is free.
LyricWinter vs ElevenLabs: Keep v4, Give Each Character a Voice
LyricWinter vs ElevenLabs: paste an AO3 or fic link, cast every character free, and run ElevenLabs v4 among 12 engines. Pay per word and own the audio.
700 Years of Creative Rebellion
From Dante's medieval self-insert epic to today's 15 million digital works, fanfiction represents a 700-year tradition of creative rebellion that transforms beloved stories into spaces where marginalized voices thrive.
Disclosure: this is LyricWinter's blog, and LyricWinter is one of the seven tools compared here. So don't take our word for it: the first two samples play the same scene in one voice, then with a full cast, and you can judge by ear.
Quick answer
As of October 2026, LyricWinter is the best text to speech for fanfiction if you want each character to sound different. Paste an AO3 or FanFiction.net link, or the text itself, and LyricWinter Studio gives every character their own voice plus a narrator. You get an MP3 or WAV audio file to keep. Finding the characters and picking their voices is free, and the free plan includes 2,500 words a month with no card needed. For one voice reading the page, the read-aloud built into Edge, Safari or Chrome is free.
Press play on the two samples below first. They need no sign-in. To hear your own fic that way, start a Studio project on the free plan, sign in with Google or Apple, tap Import, and choose AO3 chapter.
Hear the difference: one voice, then a full cast
The read-aloud on your phone or browser uses one voice for everyone. So when a fic stops saying "she said," you lose track of who's talking. One r/FanFiction thread complains about exactly this: every line gets the same voice, so the characters blur together.[1]
Here is the same original scene twice, both made in LyricWinter Studio with the same voice engine (the AI that makes the speech). Listen for the end of the argument, where Tamsin and Dario trade four lines in a row and the text never says who is talking. In the first version, you have to count whose turn it is. In the second, you just hear who's talking.
Made in LyricWinter Studio
Floor Nineteen: one voice for everyone
Voices: One voice for all four speakers
Read the transcript: Floor Nineteen
Speakers: Narrator, Tamsin, Dario, and Bev on the elevator intercom. Original scene written for the LyricWinter blog.
The elevator gave one polite chime, shuddered, and stopped somewhere between the eighteenth and nineteenth floors.
Tamsin stared at the dark panel. “No. Absolutely not. Not tonight.”
“It’s fine,” Dario said, already jabbing the button with the little bell on it. “These things reset. Give it a second.”
“You said that about your car. Twice.”
The speaker above the door crackled. “Front desk, this is Bev. Are you folks stuck, or just enjoying the privacy?”
“Stuck,” they both said.
“Oh, wonderful,” Bev said, and she sounded like she meant it. “Engineer’s on his way. Twenty minutes, maybe forty. Anybody hurt? Pregnant? Claustrophobic?”
Tamsin pressed her back against the mirrored wall. “Does being trapped with my ex-boyfriend count as a medical condition?”
There was a long pause. “Honey, I’m going to put that down as a yes.”
Dario laughed, the real laugh, the one she used to wait for. Then he stopped. “You gave a good toast tonight.”
“Don’t.”
“I mean it. The part about Priya learning to ride a bike at twenty-six...” He shook his head. “Half the room was crying.”
“I was crying,” Tamsin said quietly. “I just did it in the bathroom, like a professional.”
He looked at the floor. “I should have called you. After I left for Lisbon. I kept writing texts and deleting them.”
“Eleven months, Dario.”
“I know.”
“Eleven months, and the first thing you say to me is ‘nice toast’?”
“It was a very nice toast!”
The speaker crackled again. “Sorry to interrupt, you two. The engineer wants to know if you’ve tried turning it off and on again.”
Tamsin covered her face and laughed until it turned into something closer to a sob. Dario reached over, slowly, and took her hand. She let him.
“Bev,” she whispered. “Tell him to take his time.”
Made in LyricWinter Studio
Floor Nineteen: full cast
Voices: Narrator, Tamsin, Dario, Bev
Read the transcript: Floor Nineteen
Speakers: Narrator, Tamsin, Dario, and Bev on the elevator intercom. Original scene written for the LyricWinter blog.
The elevator gave one polite chime, shuddered, and stopped somewhere between the eighteenth and nineteenth floors.
Tamsin stared at the dark panel. “No. Absolutely not. Not tonight.”
“It’s fine,” Dario said, already jabbing the button with the little bell on it. “These things reset. Give it a second.”
“You said that about your car. Twice.”
The speaker above the door crackled. “Front desk, this is Bev. Are you folks stuck, or just enjoying the privacy?”
“Stuck,” they both said.
“Oh, wonderful,” Bev said, and she sounded like she meant it. “Engineer’s on his way. Twenty minutes, maybe forty. Anybody hurt? Pregnant? Claustrophobic?”
Tamsin pressed her back against the mirrored wall. “Does being trapped with my ex-boyfriend count as a medical condition?”
There was a long pause. “Honey, I’m going to put that down as a yes.”
Dario laughed, the real laugh, the one she used to wait for. Then he stopped. “You gave a good toast tonight.”
“Don’t.”
“I mean it. The part about Priya learning to ride a bike at twenty-six...” He shook his head. “Half the room was crying.”
“I was crying,” Tamsin said quietly. “I just did it in the bathroom, like a professional.”
He looked at the floor. “I should have called you. After I left for Lisbon. I kept writing texts and deleting them.”
“Eleven months, Dario.”
“I know.”
“Eleven months, and the first thing you say to me is ‘nice toast’?”
“It was a very nice toast!”
The speaker crackled again. “Sorry to interrupt, you two. The engineer wants to know if you’ve tried turning it off and on again.”
Tamsin covered her face and laughed until it turned into something closer to a sob. Dario reached over, slowly, and took her hand. She let him.
“Bev,” she whispered. “Tell him to take his time.”
Want your fic to sound like the second one? Good to know first:
- Free, no card. The free plan gives you 2,500 words a month and never asks for a card, so nothing can be charged. On most engines, that covers a 2,500-word chapter. ElevenLabs v4, the engine in these samples, uses more, so start with your favorite scene.
- You see the cost first. Create audio shows how many words a chapter will use before anything is made. If you don't have enough, Studio shows a Need more words box instead of starting.
- You sign in with Google or Apple. That's the only setup before your first chapter.
- It's in beta. Some screens may still change. A line that fails costs no words, and you can try it again.
Can text to speech tell who is speaking when the fic doesn't say?
LyricWinter works out who says each line from what is happening in the scene, so a line with no "she said" still goes to a speaker. That matters in fic, where two characters can share "she" for a stretch and a reply can come with no name at all. "Fog on the Marigold" is a second original scene. It ends at the ship's rail with exactly that kind of exchange between Captain Ines Varga and Mireille.
Made in LyricWinter Studio
Fog on the Marigold: full cast
Voices: Narrator, Mireille, Captain Ines Varga, Pell
Read the transcript: Fog on the Marigold
Speakers: Narrator, Mireille, Captain Ines Varga, and Pell. Original scene written for the LyricWinter blog.
The storm hit the Marigold an hour past midnight, and by then the mage had been aboard for three days, which was exactly three days too long.
“You told me this crossing was calm,” Mireille said, gripping the chart table as the deck tilted under them.
“I told you it was fast,” Captain Ines Varga said. “Calm costs extra.”
“I paid extra!”
“You paid for silence. Different line item.”
Pell stuck his head down the hatch, soaked to the skin. “Captain, we’ve lost the lantern on the foremast, and the lookout says there are lights off the port side. Customs cutter. Maybe two.”
Ines swore under her breath. “How far?”
“Close enough that they’ll hear you swearing.”
Mireille let go of the table. “Then let me do something about it.”
“Absolutely not. Last time you did something about it, my ship smelled like burnt sugar for a week.”
“It worked, didn’t it?”
She didn’t answer, which was an answer.
* * *
Ten minutes later the Marigold was wrapped in fog. The cutter’s lights slid past close enough to touch, then drifted away toward Ceirnach Sound.
Ines leaned on the rail beside the mage. Her hands were shaking. “That was reckless,” she said.
“That was brilliant,” Mireille said. “You can say brilliant. It won’t kill you.”
“It might.”
Mireille laughed, low and tired, and bumped her shoulder against the captain’s. Ines didn’t move away.
“Don’t tell the crew,” Ines whispered.
“Tell them what?”
“That I said thank you.”
“You didn’t say thank you.”
“I’m saying it now.” She said it so quietly that the fog almost took it. “Thank you.”
In this recording, Studio gave every line of the rail scene to the right woman, including "It might.", which doesn't say who said it. Your fic won't always come out that clean. When a line goes to the wrong character, tap the name on that line and pick the right Speaker. Then make a New take (a fresh recording) of just that line.
Best text to speech for fanfiction: quick picks
- Each character in their own voice (our pick): LyricWinter Studio. Import a fic link or paste the text, and hear a full cast plus a narrator.
- One voice, free, already on your device: Edge Read aloud or Chrome Reading mode on a computer, Safari Listen to Page on iPhone, Chrome Listen to this page on Android.
Fanfiction text to speech apps compared (October 2026)
Prices are from each company's own pages on October 1, 2026. For apps with a paid plan, the row shows the main paid price. LyricWinter's row also shows its free plan.
| Tool | Price | Voice per character? | Getting a fic in | Download or offline | Runs on |
|---|---|---|---|---|---|
| LyricWinter (our pick) | Free plan: 2,500 words a month. Paid: from $6 a month for 15,000 words | Yes, picked for you, plus a narrator. You can change any voice | AO3, FanFiction.net, SpaceBattles and Substack links; EPUB, PDF or TXT files; pasted text | MP3 or WAV file; a whole-work import gives one per chapter | Web browser on a computer or phone |
| Microsoft Edge Read aloud | Free, built into Edge | No, one voice for everything | Reads the page you have open | Plays live | Edge on a computer |
| Safari Listen to Page and Speak Screen | Free, built into iPhone | No, one voice for everything | Reads the page you have open (supported pages) | Plays live | iPhone |
| Chrome Listen to this page | Free, built into Chrome | No, one voice for everything | Reads the page you have open | Plays live, keeps going with the screen locked | Android (on a computer, use Chrome's Reading mode) |
| ElevenReader | Paid: Ultra, $11 a month | We found no such option. One narrator per book or document | Chrome extension for web pages, including AO3 and FanFiction.net | Offline downloads on Ultra | Web, Chrome extension, iOS, Android |
| Speechify | Paid: Premium, $29 a month | We found no such option. One voice at a time | Chrome extension reads web pages, PDFs and docs | Not stated on the pages we read | Chrome, iOS, Android |
| @Voice Aloud Reader | Paid: $15 one-time for Premium | Partly: you can set up extra voices for dialogue yourself. We found no automatic voice for each character | AO3 EPUB download, or share a page from your browser | Records MP3, OGG or WAV | Android |
How we compared: facts about the other tools come from each company's own help, store and pricing pages, read on October 1, 2026. We checked LyricWinter's features and prices in its own code the same day. We made the audio samples in LyricWinter Studio from original scenes written for this blog. This article was written by Claude Opus 5.5, an AI model, for LyricWinter's blog.
Why LyricWinter is our pick for fanfiction character voices
- Every character gets a voice, free. LyricWinter finds each speaking character, adds a narrator for everything else, and picks a voice for each one. If no voice fits, Studio designs a new AI voice from that character's own lines. This part costs nothing.
- Paste an AO3 link, hear the story. Import one chapter, or the whole work with a section for each chapter you pick. Summaries and author notes are left out, so the audio starts with the story.
- An MP3 you keep. Start listening while the rest of the chapter is still being made. When it's done, save it as one MP3 or WAV file. A new project is private until you create a listening link.
- The same voices, chapter after chapter. Every chapter in a project shares one cast. To keep a voice for later stories too, open the character and tap Pin as default. Pin a voice to Tamsin, and every future project with a Tamsin starts with it.
- Fix any line. Move a line to the right character, split or merge lines, or change a voice. You can also make a New take of one line and keep the one you like. Each new take uses words, just like the first recording.
- Voices that act out the line. A setting called Auto emotion adds short acting notes about how lines should feel, and they shape how each voice speaks. That is what you heard in the full-cast sample. It's on unless you turn it off with the small Audio options arrow next to Create audio. Our ElevenLabs v4 audio tags guide shows the notes line by line.
- Pick a voice engine per character. Engines sound different, and they don't all use the same number of words. Open a character in the Characters list and choose its engine. One character can use ElevenLabs v4 and another Inworld TTS 2, Fish Audio or Cartesia, all in one story.
What it costs (checked October 1, 2026):
- You pay in words, and you see the total first. On every engine except ElevenLabs v4, each word of your story uses about one word from your plan. Finding the characters and picking their voices is free. Create audio shows the word total before anything is made, and a line that fails costs nothing.
- Free plan: 2,500 words a month, about 17 minutes of audio, and no card. On most engines, that covers a 2,500-word chapter. A free section holds up to about 5,000 words, so for a longer fic, paste in the scene you most want to hear.
- Paid: $6 a month for 15,000 words. A 5,000-word chapter uses about $2 of words. Paid words never expire, and paid plans allow longer sections.
- ElevenLabs v4, the engine in our samples, uses words at the normal rate until October 12, 2026 (UTC time). After that, it uses three times as many. On v4, the acting notes from Auto emotion use words too. Studio picks v4 for a character when the voice supports it, so to make your words last longer, open that character and choose another engine before you tap Create audio. Our mixed version of Floor Nineteen keeps Tamsin and Dario on v4 and moves the narrator and Bev to Inworld TTS 2.
How LyricWinter works explains how it picks the voices. Our AO3 to MP3 guide walks through importing a chapter or a whole work step by step. The LyricWinter fanfic audio reader page has more on listening this way. Writing your own fic? You own the audio you make. You can use it however you like, as long as you're allowed to use the text and every voice in it. Hear your chapter before you post it.
Best free text to speech for fanfiction: your browser's read-aloud
If one voice is enough, you don't need anything new. These three are free, already on your device, and read the page you have open. In all three, every character gets the same voice, and the audio plays live. New to listening to fic? Our guide on how to listen to fanfiction covers podfic (fans reading fic aloud) and the basics.
Microsoft Edge Read aloud (computer)
Right-click the page and choose Read aloud, or press Ctrl+Shift+U (Command+Shift+U on a Mac).[2] With an internet connection you get dozens of natural-sounding voices, and a slider sets the reading speed.[3]
On a multi-chapter AO3 work, click Entire Work first so every chapter is on one page. If a work is only for AO3 members, sign in to AO3 first. Read aloud then reads it like any other open page. We found no way to save the audio as a file in Microsoft's Read aloud guide. Device-by-device steps are in our AO3 text to speech guide.
Safari Listen to Page and Speak Screen (iPhone)
In Safari, tap the Page Menu button, then Listen to Page. Apple says it works on supported webpages, so some pages may not offer it.[4]
If a page doesn't offer it, use Speak Screen, which reads whatever is on the screen. To turn it on, open the Settings app, tap Accessibility, then Read & Speak, and turn on Speak Screen. You pick the voice in the same settings. To start it, swipe down with two fingers from the top of the screen. Use the controls that appear to change the speed.[5] We found no automatic next-chapter option in Apple's guides.
Chrome Listen to this page (Android) and Reading mode (computer)
In Chrome on Android, tap More (the three dots), then Listen to this page. Google says you need the Make searches and browsing better setting turned on in Chrome's settings. You can pick a voice, change the speed, and keep listening with your screen locked.[6]
Google says the feature isn't on every website yet. Chrome also has AI playback, which doesn't read the page out. It makes a podcast-style chat about the page instead, and where it's offered, Chrome uses it by default.[6] To hear the fic as written, tap the player. Then tap Switch playback mode at the bottom left to change to Standard playback.
On a computer, use Chrome's Reading mode: right-click the page, choose Open in reading mode, then select Play.[7]
All three work, and all three would give Tamsin, Dario and Bev the same voice. If that's the part that bothers you, import the chapter into LyricWinter Studio and hear it with a full cast.
Do reader apps like Speechify and ElevenReader give each character a voice?
Not on the pages we read. As of October 2026, ElevenReader and Speechify each read a book or page in one voice at a time. @Voice Aloud Reader switches between dialogue voices that you set up yourself.
ElevenReader: one narrator per book
ElevenReader is a reader app from ElevenLabs, on the web, as a Chrome extension, and on iOS and Android. Its pages describe one narrator per book or document, which you can change. ElevenLabs also makes Eleven v4. That is the engine in this article's samples, which LyricWinter calls ElevenLabs v4. Our LyricWinter vs ElevenLabs comparison explains how v4 works in LyricWinter.
Speechify: one voice for web pages, PDFs and docs
Speechify's Chrome extension reads web pages, PDFs, Google Docs and books aloud in one voice at a time. Its library syncs to its iOS and Android apps.
@Voice Aloud Reader: Android, with dialog voices you set up
@Voice Aloud Reader is an Android reader app. It reads files aloud with your phone's own text to speech voices. That includes the EPUB you get from a work's Download button on AO3.[8] Its Google Play listing describes optional dialogue voices that you set up yourself. We found no option in its listing that finds the characters and gives each one a voice automatically.
How to choose a fanfiction audio platform
Ask these five questions of any text to speech app or fanfiction audio platform before you paste a fic, including ours. Here are LyricWinter's answers as of October 1, 2026.
- Does each character get their own voice? Yes. LyricWinter finds every speaker and gives each a different voice, plus a narrator, for free.
- Can it open the fic from a link? Yes, from AO3, FanFiction.net, SpaceBattles and Substack links. It also imports EPUB, PDF and TXT files, or pasted text.
- Can you keep the audio? Yes. You can save each section, such as one chapter, as an MP3 or WAV file.
- Is it private? Yes. A new project is private. Only someone with a listening link you create can hear it, Stop sharing turns the link off at once, and you can delete a section or a whole project.
- Does it post anything? No. The import only reads the public AO3 page. It never uses your AO3 account, so it can't post, comment or leave kudos as you.
For any other tool, read its privacy policy before you paste a fic.
Good habits when you listen to other people's fic
- Listening is a normal way to read fic. AO3 says one reason it offers downloads is so readers can use tools like text to speech.[8]
- Read the author's notes on AO3 first, since LyricWinter's import skips them. If an author asks readers not to use text to speech or AI tools on that work, skip that one.
- Keep audio of other people's fics to yourself. AO3's Terms of Service FAQ says you can't post a podfic (fan-made audio of a fic) or a converted copy of someone else's work without their permission.[9]
- Go back to AO3 to leave kudos or a comment.
Is LyricWinter right for you?
LyricWinter is for fic readers who want to hear who is talking, each character in their own voice, in a file they keep. It suits banter, arguments and scenes with several characters in the room. If you'd rather imagine the voices yourself, as one AO3 reader prefers,[10] a free read-aloud is all you need. Studio runs in your web browser with nothing to install.
Your first AO3 chapter takes four steps:
- Tap Start a project in LyricWinter Studio below, and sign in with Google or Apple. No card needed.
- Tap Import, choose AO3 chapter, and paste the link. Tap Review to check it's the right chapter, then Import.
- Tap Create audio. It shows the word total first, then gives each character a voice.
- Press play. You can start listening before the whole chapter is done.
Later, to save the chapter as an MP3, open the player's ⋯ menu and choose Export final mix. For a FanFiction.net, SpaceBattles or Substack link, add a New section to a project, then use Import story and From link. For a members-only AO3 work or any other site, copy the text and paste it in.
Pick the chapter you most want to hear: the confession, the big fight, the banter you've reread three times.
Text to speech for fanfiction: FAQ
What is the best text to speech for fanfiction?
As of October 2026, LyricWinter is the best text to speech for fanfiction if you want each character to sound different. Paste an AO3 or FanFiction.net link, or the text itself, and LyricWinter Studio gives every character their own voice plus a narrator. You get an MP3 or WAV audio file to keep. Finding the characters and picking their voices is free, and the free plan includes 2,500 words a month with no card needed. For one voice reading the page, the read-aloud built into Edge, Safari or Chrome is free.
What is the best free text to speech for fanfiction?
For one voice reading the page, use what is already on your device. On a computer, Microsoft Edge's Read aloud (Ctrl+Shift+U, or Command+Shift+U on a Mac), or Chrome's Reading mode. On an iPhone, Safari's Listen to Page, or Speak Screen. On Android, Chrome's Listen to this page. For a different voice for each character, LyricWinter's free plan includes 2,500 words a month with no card needed, and finding the characters and picking their voices is free.
What is the best text to speech for AO3?
For a different voice per character, LyricWinter Studio. In a new project, tap Import and choose AO3 chapter. Choose AO3 work to bring in the whole story, with each chapter in its own section. Studio finds every speaker, gives each one a voice plus a narrator, and saves the audio as an MP3 or WAV. The import leaves out the summary and author notes, so read those on AO3 first. For one free voice, use the read-aloud in Edge, Safari or Chrome on the AO3 page.
Which text to speech gives each character a different voice?
LyricWinter does it for you. It finds the speakers in a fic and gives each one a different voice, plus a narrator. You can change any voice, or a character's voice engine (the AI that makes the speech), before you create audio. As of October 2026, we found no per-character option on the pages we read for browser read-aloud, ElevenReader or the Speechify reader app.
What is the best fanfiction audio platform for character-driven stories?
LyricWinter. It finds every speaking character in a fic, gives each one a different voice plus a narrator, and lets you move any line that lands on the wrong speaker. LyricWinter Studio keeps one cast across a whole AO3 work. Pin a voice to a character, and every later project with a character of that name starts with the same voice. It runs in the web browser on a phone or computer.
Is there a Speechify or ElevenReader alternative for fanfiction?
Yes. If you want each character in a different voice, LyricWinter finds the speakers in a fic link or pasted text, gives each one a voice, and gives you an MP3 to keep.
How much does LyricWinter cost for one fanfic chapter?
As of October 1, 2026, on most engines a chapter of up to about 2,500 words fits in the free plan, which includes 2,500 words a month with no card needed. Longer chapters cost about $2 per 5,000 words. On every engine except ElevenLabs v4, each word of your story uses about one word from your plan. Finding the characters and picking their voices is free. Create audio shows the word total before anything is made, and if you don't have enough words, Studio stops and tells you. For a new account, the smallest payment is the $6 monthly plan for 15,000 words, and paid words never expire. ElevenLabs v4 uses words at the normal rate until October 12, 2026 (UTC time), then three times as many, and on v4 the acting notes from Auto emotion use words too. Studio picks v4 for a character when the voice supports it, so to make your words last longer, choose another engine for that character before you tap Create audio.
Do I need an account to use LyricWinter?
Not to listen to the samples on this page. To make audio from your own fic, you sign in to LyricWinter Studio with Google or Apple. The free plan doesn't ask for a card.
Which fanfiction audio platform offers private listening?
LyricWinter does. A new Studio project is private. Only someone with a listening link you create can hear it, and Stop sharing turns the link off at once. You can delete a section or a whole project. The AO3 import only reads the public page and never uses your AO3 account. For any other app, read its privacy policy before you paste a fic.
Can I share audio I make from a fic?
You own the audio you make. You can use it however you like, including posting it, as long as you're allowed to use the text and every voice in it. Audio made with the F5-TTS engine is for personal use only, so choose another engine for anything you post. Someone else's fic isn't your text, so keep that audio to yourself unless the author gives permission. AO3's Terms of Service FAQ says you can't post a podfic (fan-made audio of a fic) or a converted copy of someone else's work without their permission.
References
- [1]r/FanFiction: discussion of text to speech reading every character in the same voice
- [2]Microsoft Support: Keyboard shortcuts in Microsoft Edge
- [3]Microsoft Edge: How to customize Read aloud settings
- [4]Apple Support: Listen to a webpage in Safari on iPhone
- [5]Apple Support: Hear iPhone speak the screen, selected text, and typing feedback
- [6]Google Chrome Help: Listen to this page
- [7]Google Chrome Help: Use reading mode in Chrome (computer)
- [8]Archive of Our Own FAQ: Downloading fanworks
- [9]Archive of Our Own: Terms of Service FAQ
- [10]r/AO3: discussion of text to speech readers for fic