Skip to content

Convert a CSV file to a PDF table

Turn a CSV export into a tidy, printable PDF table with a repeated header row and automatic column widths. No upload, no size cap, no signup.

  • Runs in your browser
  • Files are never uploaded
  • Free, no account
Drop a CSV hereThe workbook is parsed in this tab.CSV, TSV, TXT · up to 300 MB each

Turning a data file into something printable

A CSV opened in a text editor is unreadable past about four columns. Opened in a spreadsheet, it is readable but not portable — the columns are whatever width that machine decided. This page draws it as a real table with measured column widths, a repeated header row and page numbers' worth of consistent layout, so it looks the same for everyone who opens it.

Typical reasons people need it: attaching a data export to a ticket or an email, printing a stock list or a delivery manifest, submitting a schedule as a PDF because that is the only format a portal accepts, or archiving a query result in a form that will still open in ten years.

Delimiters are detected, not assumed

"CSV" is a family of formats. The parser sniffs the content and handles all of the usual ones without a setting:

Separator Where it comes from
Comma The default in English-locale exports and almost every API
Semicolon Excel in German, French, Spanish, Italian and Dutch locales, where the comma is the decimal separator
Tab Copy-and-paste out of a spreadsheet, and .tsv exports
Pipe Legacy mainframe and telecoms exports

Quoted fields containing the separator, embedded newlines and doubled quotes are all handled properly, so a free-text column with commas in it will not shift your table sideways.

Pagination and the repeated header

Rows flow onto as many pages as they need. With the header option on, the first row of the file is drawn in bold with a shaded background at the top of every page — which is what makes a fifty-page export usable rather than a wall of unlabelled numbers.

Row heights are computed from the content, so a row with a long note wraps to up to four lines and the row grows to fit. Anything longer than four lines is trimmed with an ellipsis and counted, and the count is shown with the result rather than left for you to discover.

Layout recipes

Your file Suggested setup
3–5 narrow columns, many rows A4 portrait, 10 pt, zebra on, grid off
8–15 columns A4 landscape, 7–8 pt, fit-to-width on
20+ columns A3 landscape, 5–6 pt — or split the file
A column of long free text Portrait, grid on, so the wrapped lines stay visually contained
A file for a printer's tray US Letter if you are in North America, A4 everywhere else

Encoding notes

Files are decoded as UTF-8, which is what modern exports use. Two things to know:

  • A byte-order mark at the start of the file — which Excel adds when you "Save as CSV UTF-8" — is handled and does not appear in the first cell.
  • Legacy Windows-1252 files will show replacement characters on accented letters. Re-save as UTF-8 first; every spreadsheet application offers it.

Beyond decoding, the drawing step can only render characters that exist in PDF's built-in fonts, which cover Western European alphabets. Cyrillic, Greek, Hebrew, Arabic and CJK text becomes a question mark, and the number of substitutions is reported with the result — we will not embed a font, because obtaining one would mean a network request.

Large exports

There is no row limit and no file size cap, because there is no upload. A 50,000-row CSV renders to a few hundred pages in well under a minute on a laptop, with per-row progress and a working Cancel button. The only real constraint is memory, and the drawing is streamed row by row rather than held as one enormous layout.

If the resulting PDF is larger than you want to email, compress it to 2 MB — though for a text-only table the lossless clean-up in Compress PDF is usually the better choice, since it keeps the text selectable.

Related

Questions

Does it detect the delimiter automatically?

Yes. Commas, semicolons, tabs and pipes are all detected from the content, so European CSVs that use semicolons and tab-separated exports both work without a setting to change.

What happens to a very long CSV?

It paginates. Rows flow onto as many pages as needed and the header row is redrawn at the top of each one, so a 5,000-row export stays readable rather than becoming one unlabelled wall of numbers.

Can I control how the table looks?

You can set the paper size, orientation and font size, and toggle grid lines, zebra striping, the repeated header and fit-to-width column scaling. Long cells wrap to at most four lines and are marked as trimmed if they overflow.

Is a CSV containing personal data safe here?

It is parsed and drawn by JavaScript in this tab and never transmitted. That is a structural property of the page, not a policy: there is no server endpoint for it to be sent to.