SpeechmaPRO.com · No ads · No captcha · 10K chars & moreTry it → Speechma TTS API · 1,000+ voices for your apps & websites · from $9/monthGet API key → Speechma Android App · free text to speech on your phoneInstall → Imageka · free AI image generator · no loginOpen → TransferFiles · send large files fast and freeOpen →

Free Read Aloud Widget for Your Website

Let visitors listen to your articles instead of reading them. Paste one line of code and a small, fast “Listen to this article” player appears above your content. Free forever, no account needed.

In short: Paste <script src="https://speechma.com/widget/read-aloud.js" defer></script> into your page template. A player appears above the article and reads it aloud with the visitor’s own device voices, with a speed control. It is free, sends no data anywhere, and adds less than 5 KB to your page. Try it on this page: the player is right above this text.

Add it in 30 seconds

Copy this line and paste it just before </body> on your article pages:

<script src="https://speechma.com/widget/read-aloud.js" defer></script>

By default the widget reads the first <article> or <main> element. To choose the exact part of the page, add a CSS selector:

<script src="https://speechma.com/widget/read-aloud.js" data-target=".post-content" data-theme="light" data-label="Listen to this post" defer></script>

Options

AttributeWhat it doesExample
data-targetWhich element to read aloud (CSS selector).entry-content
data-themeLight or dark playerdark
data-labelThe title next to the play buttonListen to this recipe

Where to paste it on popular platforms

  1. WordPressAppearance → Theme File Editor → single.php (or use a plugin like “Insert Headers and Footers” and paste it in the footer box). For the block editor, a Custom HTML block at the top of a post works too.
  2. Shopify blogOnline Store → Themes → Edit code → article template (main-article.liquid). Paste the line at the end of the file and use data-target=".article-template__content".
  3. BloggerTheme → Edit HTML. Paste the line before </body> and use data-target=".post-body".
  4. Wix, Squarespace, WebflowAdd it as custom code in the page or site footer settings.
  5. Plain HTMLPaste it before </body>. Done.

Why site owners add it

Accessibility

Helps visitors with dyslexia, low vision or reading fatigue.

Longer visits

People listen while they cook, commute or work, and stay on your page.

Fast

Under 5 KB, loads after your page, never blocks your content.

Private

Uses the visitor’s own device voices. No tracking and no data sent to Speechma.

Want studio-quality voices instead?

Device voices differ between phones and computers. For the same natural voice on every device, generate MP3 files with Speechma Text to Speech and add them as audio players, or automate it with the Speechma API from $9/month.

Frequently asked questions

Is the read aloud widget really free?

Yes. There is no account, no limit and no cost per play, because the reading happens in the visitor’s own browser.

Does it slow down my website?

No. It is under 5 KB, loads with defer after your content, and does nothing until a visitor presses play.

Which languages does it read?

Any language the visitor’s device has a voice for. It picks a voice that matches your page’s language (the lang attribute on your html tag).

Can I remove the “Read Aloud by Speechma” link?

The small credit link is what keeps the widget free. Please keep it visible.

Does it work on phones?

Yes, on iPhone, Android, Windows, Mac and Chromebook browsers that support speech synthesis, which is nearly all modern browsers.
The Speechma newsletter

Make better voiceovers, faster

  • New voices and features the day they launch
  • Script templates and tricks that make AI voices sound human
  • Creator stories, community picks and early access

Free, about twice a month, one click to leave. We never share your email. Privacy · Read past issues

More from Speechma

speechma.com is 100% free: no sign-up, commercial use included and no copyright claims from us. SpeechmaPRO.com is only an optional extra. Why it is free →