CSV is one table and nothing else, with no formulas and no cell formatting. EPUB is a reflowable book split into chapters. pandoc sits between the two, and this page says exactly what happens to a CSV file on the way to becoming an EPUB one.
What runs when a CSV file becomes EPUB
pandoc in two passes, on a machine we rent and watch. Your CSV file is uploaded once, pandoc runs once, the EPUB comes back, and neither file is kept. CSV to EPUB is one of the 3649 pairs that engine was probed on with a real file, which is why it has a page here and why the pairs the probe could not prove do not.
What survives from the CSV into the EPUB
Tables, rebuilt in EPUB syntax rather than screenshotted. That is the difference between a table a machine can read and a picture of one, and it is the whole reason to send a CSV file through pandoc rather than through a printer.
Lists from the CSV file, nesting included, plus code blocks, block quotes and links, all re-expressed in EPUB.
Images: pandoc extracts them out of the CSV file into a working directory and re-embeds them in the EPUB, so nothing ends up pointing at a file that no longer exists.
What CSV to EPUB costs you
The presentation layer. pandoc does not translate the CSV file into EPUB, it rebuilds it from its own document tree, so custom styles, page setup, headers and footers do not cross over. The structure does, and that is what the tree is made of.
Where CSV and EPUB files come from
CSV. Everything writes it and nothing agrees on it. There is an RFC, 4180, and it describes common practice rather than commanding it: quoting, escaping and line endings all vary by producer. A CSV is the lowest common denominator, which is both why it is everywhere and why it surprises people.
If a model is going to read the EPUB
Structure is what survives from the CSV file, and structure is what a model needs. CSV in, EPUB out, with the heading tree intact instead of flattened into one long paragraph.
CSV to EPUB, measured rather than promised
Running CSV to EPUB against the real engine with a real file, pandoc wrote 4,913 bytes of EPUB in 0.1 seconds, machine otherwise idle. That is one CSV file on one day and not an average, which is why the number is given together with the file that produced it.
The CSV to EPUB verdict was reached by a pandoc round trip, meaning the output was read back by pandoc and had to still contain a witness word planted in the source, which proves the content travelled and not merely the container. Which check was used matters, because they do not all prove the same thing, and a status code of 200 proves nothing whatsoever about whether the EPUB file has anything inside it.
The same CSV file, sent somewhere else
Other outputs the probe measured out of a CSV file, so the cost of choosing EPUB can be read against something. Sizes do not compare across engines, because each family was probed with its own CSV witness file.
CSV to PDF: 12,680 bytes in 1.0 seconds, verified by a format signature.
CSV to MD: 114 bytes in 0.1 seconds, verified by a pandoc round trip.
CSV to DOCX: 9,945 bytes in 0.1 seconds, verified by a pandoc round trip.
CSV to TXT: 114 bytes in under a tenth of a second, verified by reading the text back.
CSV to HTML: 3,894 bytes in 0.1 seconds, verified by a pandoc round trip.
CSV to RTF: 779 bytes in under a tenth of a second, verified by a pandoc round trip.
Other ways into EPUB, and what they measured
Among the published routes into EPUB, CSV is the number 11 largest output of the 11 measured. The witness files differ, so this ranks the probe run and not your document.
HTML to EPUB: 5,027 bytes in 0.1 seconds.
JSON to EPUB: 5,035 bytes in 0.1 seconds.
ODT to EPUB: 5,063 bytes in 0.1 seconds.
RTF to EPUB: 5,033 bytes in 0.1 seconds.
TXT to EPUB: 4,955 bytes in 0.1 seconds.
What we will not pretend about CSV to EPUB
A CSV file over 25 MB is refused before the upload finishes rather than after it, so you do not wait for a rejection.
A CSV to EPUB run that passes 60 seconds is killed, and the pandoc process is killed with it. A run left behind would sit on one of the machine's two cores until somebody noticed.
32 of the 935 pairs probed in the family that serves CSV to EPUB failed, and this pair is not one of them. They fail for reasons worth knowing: a writer that cannot carry what the document is made of, or output the engine could not read back. They are counted here rather than hidden, because a pair that fails quietly is worse than one that fails loudly.
pandoc never writes the EPUB through a TeX engine here, and it never writes PDF at all: the eleven engines it would need are not on this machine and a TeX distribution weighs several gigabytes. Anyone who wants a PDF out of a CSV file goes through LibreOffice or calibre, both of which genuinely can.
One CSV file at a time, chosen in the browser. There is nothing else to set up and nothing else on offer.
CSV to EPUB: what people ask
What actually converts my CSV file to EPUB?
pandoc does it, in two passes, on a machine we rent and watch. Not a browser trick and not somebody else service: the CSV file is uploaded once, pandoc runs once, the EPUB comes back, and neither file is kept afterwards.
How long does CSV to EPUB take?
On the file the probe used, pandoc took 0.1 seconds and wrote 4,913 bytes of EPUB. That is one real measurement on one real CSV file, not an average and not a promise about yours: a larger CSV takes longer, and past 60 seconds the run is stopped.
What do I lose going from CSV to EPUB?
The one to know about first: The presentation layer. pandoc does not translate the CSV file into EPUB, it rebuilds it from its own document tree, so custom styles, page setup, headers and footers do not cross over. The structure does, and that is what the tree is made of.
Are the tables in my CSV file still tables in the EPUB?
Yes. pandoc reads the CSV tables into its own document tree and writes them back out in EPUB syntax, so what you get is a table a machine can parse rather than a picture of one.
Is CSV to EPUB free?
There is a free allowance every month, and one CSV to EPUB conversion costs half a credit against it. When the allowance runs out the tool says so and stops, rather than quietly handing you a worse EPUB.