Text to Speech

Have any text read aloud by the voices already on your device, at the speed and pitch you choose.

Runs on your deviceTextWorkingNo account needed

What this tool does

Text to Speech passes your writing to the speech engine that already ships with your browser and operating system, through the Web Speech API. Nothing is uploaded by this page — the words stay in the tab, and the voice you hear is one your device already had. Speed, pitch and volume are sliders; the voice language field takes a BCP-47 tag such as en-GB, and the closest installed voice is chosen for it.

Long passages are broken up before they are spoken. The text is divided at paragraph breaks, then at sentence endings, and at word boundaries only when a single sentence still exceeds the limit you set — 220 characters by default, adjustable from 40 to 1000. Browser speech engines grow unreliable on very long utterances, which is the whole reason the split exists; the cost is a small gap between parts, so a lower limit buys reliability and pays for it in pauses. When playback finishes, the output pane lists the parts in the order they were read and names the voice the engine settled on, next to the word and part counts.

The limits matter more here than the settings do. This tool makes sound, not a file: the words play live through your speakers and there is nothing to download, so it cannot narrate a video or turn a chapter into an audiobook. The voices are not ours either — you get whatever your system provides, so the same paragraph sounds different on Windows, macOS, Android and iOS, and a device with no voice for your language stops the job rather than guessing. Some browsers back their own voices with a network service, Chrome's Google-branded voices among them, so when the words must not leave the machine, pick a voice your operating system installs locally.

How to use it

  1. Paste the text you want read aloud. Type it, paste it, or press Load sample. Blank input is refused. There is no length cap beyond what the tab can hold, and nothing is truncated.
  2. Set the speed, pitch and volume. Speed runs from 0.5× to 2×, pitch from 0 to 2, volume from 0 to 1. All three start at the engine's normal setting of 1, so leaving them alone is a valid choice. One wart: a pitch of exactly 0 speaks as the flat monotone you asked for, but the badge printed afterwards reports it as 1.
  3. Name a voice language, or leave it empty. A BCP-47 tag such as en-GB or de-DE takes an exact match when the device has one and any voice of the same language when it does not, so en-GB on a US-only machine is read in American English. An empty field uses the system default, and a language with no voice at all stops the run instead of reading in the wrong one.
  4. Adjust the utterance size only if playback misbehaves. Maximum characters per utterance defaults to 220. Raise it for fewer pauses, lower it if an engine keeps cutting long parts short.
  5. Start it, and listen. Playback is live and in real time, so a long article takes as long to hear as it does to read. Cancelling stops the speech engine straight away.

Processing & privacy

Runs on your device. Your file is processed directly in this browser.

Common use cases

Proofreading your own writing

Hearing a sentence read back catches the repeated word, the missing verb and the clause that runs on — the mistakes your eye slides over on the third read.

Timing a script before you record it

Reading a voiceover draft or a conference talk aloud at 1× is the only honest way to find out how long it actually runs.

Resting your eyes on a long article

Paste the text and listen while you do something else, without installing a browser extension or handing the article to a reading service.

Checking a pronunciation in another language

Set the voice language to a tag your device has a voice for, and a name or a phrase is read with that language's own sounds rather than an English approximation.

Questions

Does my text ever leave this tab?
Not by this page. The words go to the speech engine built into your browser and never to OmniKitly. One caveat worth knowing: some browsers synthesise their own voices remotely — Chrome's Google-branded voices are the common example — so choose a locally installed system voice when that distinction matters to you.
Can I save the result as an MP3?
No. The Web Speech API plays straight to the speakers and gives the page no access to the audio it produces, so there is no file to download. Producing an audio file from text is a different job that this tool does not do.
Why are the available voices different on my phone?
Because the voices belong to the device, not to this site. Windows, macOS, Android and iOS each ship their own set, and browsers sometimes add more. Installing a language pack in your system settings is what adds a voice here.
Why is there a pause between sentences?
Each part is spoken as a separate utterance and the engine leaves a small gap between them. Raise the maximum characters per utterance for fewer, longer parts — bearing in mind that overlong utterances are exactly what some engines cut short.
What happens if no voice matches my language tag?
The run stops with a message naming the tag you asked for, rather than falling back to English and reading your German with the wrong sounds. Broadening the tag achieves nothing, because de-AT already accepts any German voice on its own; installing the language in your system settings is the only fix. The exception is a browser that hands the page no voice list at all — there the tag goes to the engine unchecked and you hear whatever it picks.
Does it handle HTML or Markdown?
No. Whatever you paste is treated as plain text, so tags, asterisks and table pipes are read out or mangled depending on the engine. Strip the markup first; Find and Replace will clear the worst of it.

Related tools