Open or paste a CSV file and select Download PDF. You get a table on A4 landscape pages by default, with the header repeated on every page, shaded rows and page numbers. Tables too wide for the page continue on extra pages instead of being cut off. Text in Chinese, Japanese, Korean, Arabic, Cyrillic or Greek is drawn with a matching Noto Sans font that is downloaded only when the data needs it. The CSV itself is never uploaded.
How to convert CSV to PDF
- Open a
.csv,.tsvor.txtfile, drop it on the tool, or paste rows. Check the table under Input; set the delimiter, header row or encoding under Import settings if needed. - Set the Title (it starts as the file name), Page size, Orientation and Text size (pt).
- Under Columns, untick any columns you don't want to print. Columns keep their order from the file.
- Select Download PDF.
To convert many files with the same settings, choose Batch: convert several files. Each file becomes its own PDF titled with its file name, and they download together as one ZIP. In a batch, each file must be 25 MB or smaller.
Page and table options
| Page size | A4 (default), Letter, Legal or A3, with half-inch (36 pt) margins. |
|---|---|
| Orientation | Landscape (default) or Portrait. Landscape fits more columns per page. |
| Text size (pt) | 6 to 16 points, default 9. The title is 5 points larger. |
| Long text | Wrap onto more lines (default) keeps every character and makes the row taller. Cut to one line with … keeps rows one line high and shortens long values, so part of them is not printed. |
| Shade alternate rows | On by default; off draws a plain grid. |
| Repeat the header on every page | On by default; off prints the header row only on the first page of the table. |
| Page numbers | On by default: 3 / 12 in the bottom-right corner of every page. |
| Font for Chinese characters | Chinese, Japanese or Korean glyph style for cells that contain only Han characters (汉字/漢字/한자). Cells with kana always use the Japanese font and cells with Hangul the Korean font. Choose the reader's language. |
Wide tables
Each column is as wide as its longest line, up to 45% of the printable width; longer text wraps inside the cell. When the selected columns don't fit across the page, the table is split into column groups. The first group prints all its rows, then the next group starts on a new page, and so on. Nothing is printed outside the page.
- Every group after the first repeats the first selected column, so each row stays identifiable. Put an ID or name column first, or untick columns before it, to choose which column repeats.
- A small label at the top right of each group, such as
15–26 / 41, shows which of the selected columns that page holds. - To fit more columns per page, choose Landscape, a larger page such as A3, or a smaller text size, or untick columns you don't need.
Languages, fonts and right-to-left text
Values that fit Windows-1252 (English and most Western European text) use the PDF's built-in Helvetica, so no font is downloaded. Any other text gets a Noto Sans font, chosen per cell and downloaded from assets.viewcsv.app only if the data needs it:
| Latin, Greek and Cyrillic | 0.6 MB, for example Polish Łódź, Greek or Russian text |
|---|---|
| Chinese | 10.9 MB |
| Japanese | 5.5 MB |
| Korean | 6.1 MB |
| Arabic | 0.3 MB |
- The font is embedded in the PDF, so it prints and displays the same on any device. Text stays selectable and searchable. Arabic is stored as shaped glyphs in display order, so text copied out of the PDF may not match the original cell characters exactly.
- Arabic cells are shaped and right-aligned. The table itself still runs left to right, with the first column on the left.
- Each cell is drawn with a single font. A cell that mixes scripts no single font covers, such as Arabic and Chinese together, or one with emoji, stops the conversion with the row and column named. Nothing is replaced by empty boxes.
When the PDF can’t be created or looks cramped
- A cell has characters that no single PDF font can draw. The message names the row and column. Remove the emoji or symbols there, or move text in different scripts into separate columns with the CSV editor. For data that must keep them, use CSV to HTML or CSV to Excel.
- A font couldn't be downloaded. Fonts come from
assets.viewcsv.app. Check your connection, firewall or content blocker, then try again. - The result is too large for this format. PDF export stops above 20,000 data rows or 2,000 pages. Filter the rows you need to print, or split the CSV into parts.
- Columns are very narrow and text wraps a lot. Switch to Landscape or A3, lower the text size, or untick columns. Long free-text columns print best with Wrap onto more lines.
Limits and privacy
PDF export takes up to 20,000 data rows and 2,000 pages. The CSV must also open in the browser workspace: up to 25 MB, 100,000 rows, 250 columns and 2 million cells.
The PDF is built with the open-source jsPDF and jspdf-autotable libraries in a background worker in this tab, so the page stays responsive and Cancel stops it. Only font files are downloaded; the CSV and the PDF never leave your device.
Example: two invoices as a PDF table
Two invoices with leading-zero numbers, a quoted comma, Polish place names and a two-line note, converted with the default settings (A4 landscape, 9 pt) and the title invoices. The text below was extracted from the downloaded PDF with pdftotext -layout; the page number is drawn as 1 / 1. Łódź is outside Windows-1252, so the 0.6 MB Latin font was embedded for those cells; everything else uses Helvetica.
invoice_no,client,city,amount,due_date,note 000981,"Smith & Co, Ltd",Leeds,1250.00,2026-05-31,Net 30 000982,Łódź Tools,Łódź,89.90,2026-06-15,"Two lines: second line"
pdfinfo: Pages 1, Page size 841.89 x 595.28 pts (A4), Title "invoices"
invoices
invoice_no client city amount due_date note
000981 Smith & Co, Ltd Leeds 1250.00 2026-05-31 Net 30
000982 Łódź Tools Łódź 89.90 2026-06-15 Two lines:
second line
1/1Questions and answers
Will the PDF show Chinese, Japanese, Korean or Arabic correctly?
Yes. The tool detects which scripts the data uses and embeds the matching Noto Sans font. If one cell mixes scripts that no single font covers, or contains emoji, it tells you which cell to change instead of printing empty boxes.
What happens to columns that don't fit on the page?
They continue on following pages as extra column groups, each repeating the first selected column, with a label such as 15–26 / 41. No column is cut off.
Are numbers formatted or totals added?
No. Every value is printed exactly as written in the CSV, including leading zeros, and no rows or totals are added. Use the column profile for column statistics.