← Blog · 12 October 2026 · Lire en français

Reading a data table aloud: what text-to-speech actually does with it

A table is read at a glance; the ear gets it one cell at a time, without its headers. What a speech engine really does with a table, why we do not try to perform it, and how to write so the point still lands.

A table is built for the eye. It lays numbers out in rows and columns so you can compare them in a single look: a value means something only in relation to its column header, up top, and its row label, on the left. The ear does not work that way. It receives one word after another, with no way to glance back or jump ahead. A table of results, prices, timetables or scores read by a synthetic voice therefore raises a problem that a beautiful voice does not solve: it is not about timbre, it is about structure.

The question comes up the moment content gets even a little numeric. A newsroom publishing a ranking, a local authority posting an opening-hours grid, a report lining up fiscal years: all of them contain tables, and all of them wonder, when they add audio, what their table becomes when heard. The honest answer starts with what the tool actually does, not with what we might wish it did.

What a table becomes when it is read

A voice reads a table in the order the text appears: left to right, top to bottom, cell after cell. The grid is gone. A column header is spoken once, at the start, and then never again: the values that follow stream past with no reminder of what each one refers to. By the third row, the listener has lost track of what the second number in each line means, because nothing, out loud, says it again.

This holds whichever way the text reaches us. A web page goes through a clean-up that strips tag attributes but keeps the cell text, which is then read in its order of appearance. A Markdown article keeps the table's own punctuation, the vertical bars and the separator dashes, which the text preparation deliberately leaves alone. In both cases, no table-specific rule steps in: WeDispatch's preparation knows how to handle numbers, dates, units and acronyms, but it does not rebuild a two-dimensional structure to narrate it aloud.

Why we do not try to "perform" the table

You could imagine a rule that said "Price column, Pro plan row, fifteen euros." We have not written it, and that is a deliberate choice. The code says so in its own words: tables and code blocks are not processed, because they are not meant to be heard anyway, and because a rule that touched them would risk grabbing ordinary text and damaging the writer's sentence. Our stance is never to rewrite content for the ear at the risk of changing its meaning; verbalising a table would mean guessing its logic, row by row, something no safe rule can do on an arbitrary table. It is the same line as the French text-to-speech page: prepare the reading without ever touching the substance.

In other words, we would rather say plainly that a table listens badly than promise a clever reading that, faced with an unexpected table, would invent false links. A figure wrongly tied to its header is worse than a missing figure: the listener remembers it as true.

What to write instead

The good news is that the fix is editorial, not technical, and it serves readers too. A table almost always carries a conclusion: a trend, a gap, a peak. Write that conclusion in one sentence, just before or just after the table. "Prices run from ten to forty euros depending on volume, with the middle tier the most popular" reads perfectly, and it is what your listener wanted to know. The table stays on the page for anyone who wants the exact figures; the sentence carries the point to the ear. It is the direct application of what we lay out in writing for the ear.

A second move, when the table adds nothing for a listener: take it out of the read text without taking it off the page. The "Read text" control lets you choose what the audio speaks and leave a block out, exactly the way you would drop a sidebar or an ad; we explain it in choosing what the audio reads. A table of footnotes or a purely decorative grid is better off out of the audio version.

Finally, the numbers that fill the table deserve the same care as anywhere else: "1,200", "3.5%", "15h30" each have an expected reading and a wrong one, whether the table is read or its conclusion is read in its place. That is the subject of reading numbers aloud in French, and it holds for every figure you decide to let people hear.

The test to run before you decide

Take one of your articles that contains a real table. Start the audio and stop at the table: listen to that passage only. In thirty seconds you will know whether the run of values keeps any meaning by ear or turns into a chant of digits. In most cases, your answer will match the one you reach while reading: a table is not made to be heard. What remains is to decide what your listener should walk away with, and to write it in one sentence. It is less work than it looks, and it is the only honest way to carry a figure through the ear.

Give your articles a voice with WeDispatch

This blog is itself voiced by WeDispatch. Curious how it sounds on your content?

Book a demo

Read next