Excel to PDF
Convert Excel to PDF: the cell values of an .xlsx or CSV file laid out as a printable PDF table.
Your files stay on this device. Nothing is uploaded. How to check
How to use Excel to PDF
Key features of Excel to PDF
All worksheets are included in order, each after a Sheet N row when there is more than one, and every column is drawn. With more columns the type gets smaller, down to 6 pt, so none are dropped.
Cell values are carried over as text. Formulas show their last calculated value, dates show as Excel's serial numbers, and number formats, colours, merged cells and charts are not reproduced.
The workbook is unpacked and read by JavaScript in your browser. Nothing is sent to a server.
About Excel to PDF
Excel to PDF opens the .xlsx package with JSZip, reads the shared strings and each worksheet's XML, and draws the rows with pdf-lib as a bordered table on landscape A4 pages. The file name becomes the title, the first row of the table is set in bold as a header (with several sheets, that is the Sheet 1 label), and rows alternate a light background. A CSV file is split on commas and drawn the same way. A value that does not fit its column is shortened with an ellipsis rather than running into the next cell.
It is a quick way to print a price list, an attendance sheet or an export from another system, or to share a sheet with someone who does not have Excel. Columns are all the same width, so a sheet with one long text column and many short ones will look cramped, and a CSV with commas inside quoted fields will split in the wrong places. For a PDF with your own column widths, formats and charts, use Excel's own export.
When to use Excel to PDF
A CSV export from a bank, an online shop or an analytics tool needs to be filed as a fixed record. Drop the .csv and the first line becomes a bold header row and the rest a bordered table, ready to store with the month's paperwork.
You need a roster, an inventory count sheet or a checklist to print and fill in by hand. The alternating row shading and the 22 point row height leave room for a tick or initials next to each entry, and the landscape page suits wide tables.
You want to send figures to someone who should read them but not change them, or who has no spreadsheet app. Convert here and, if the numbers are sensitive, add a password with Protect PDF before sending.
For a sheet with merged headers, wrapped text, coloured cells or a chart, the spreadsheet app's own PDF export is the right choice; this tool draws equal-width columns of plain values. To go the other way and get cells back out of a PDF table, use PDF to Excel. To number the pages of the result, run it through Add Page Numbers.
Tips and troubleshooting
- The message This file is not a valid .xlsx workbook means the file is not a zipped Excel package: an .ods or .numbers file renamed to .xlsx, or a damaged download. Save it as .xlsx or .csv from the app that made it.
- Excel does not save empty cells, and the tool places each row's values in the order they are stored, so a blank cell in the middle of a row shifts everything after it one column to the left. Fill blanks with a dash or a zero before converting if alignment matters.
- A formula cell shows the value that was saved with the file. Workbooks written by some export libraries store the formula without a computed value, and those cells come out empty; opening and saving the file in Excel fixes that.
- A CSV is read as UTF-8, so a file saved by Excel in a legacy Windows encoding shows accented letters as question marks. Save it as CSV UTF-8.
- Number formats are not applied: a cell shown as 15% is stored as 0.15 and printed that way, and currency symbols and thousands separators vanish. Only the first row of the whole document is bold, and the label row before each sheet reads Sheet 1, Sheet 2 rather than the tab name.
- Cells never wrap. A value wider than its column is shortened with three dots, and with more columns the type shrinks (10 pt up to 6 columns, then 8, 7 and finally 6 pt from 13 columns). Shorten long text or split it across columns before converting. A line break inside a cell becomes a space.
- A character the built-in Helvetica font cannot draw, such as Chinese text or an emoji, is replaced by a question mark rather than stopping the conversion, in the cells and in the title. Accented letters, curly quotes, dashes and the euro sign are kept. The download is named after the file with a .pdf extension.
How Excel to PDF works in your browser
The file is read into memory and checked for the OLE signature of a binary .xls, which is refused. A .csv is decoded as UTF-8 text, split into lines and then on commas, with surrounding quotes stripped from each value. A .xlsx is opened in memory by JSZip: xl/sharedStrings.xml is parsed first, because Excel stores every text cell once in that table and refers to it by index, then each xl/worksheets/sheetN.xml is parsed in numeric order and its row and c elements are walked, resolving shared-string references and reading the stored v value of everything else.
pdf-lib lays out the table on landscape A4 pages with a 40 point margin: the file name in 16 pt Helvetica Bold, then one row per line, 22 points tall, with a filled and bordered rectangle behind it. Column width is the printable width divided by the largest column count in the table, the type size is chosen from that count, and each value is measured with the font's real character widths and shortened if it would spill into the next cell. A new page starts when the cursor reaches 50 points from the bottom. The saved bytes become a Blob for download and preview. The two library scripts come from cdnjs.cloudflare.com at page load, and the workbook and the PDF are never transmitted.
Frequently asked questions
Are all the sheets in my workbook included?
Yes. Each worksheet is read in order, and when there is more than one, a Sheet N row is put before each sheet's rows. Only the first row of the whole table is bold, which is then the Sheet 1 label rather than the sheet's own header.
What happens to formulas and formatting?
Formulas are replaced by the value Excel last stored for them, and dates appear as the serial numbers Excel keeps internally. Number formats, colours, merged cells, column widths and charts are not carried over.
Are .xls files supported?
No. The older binary .xls format cannot be read here, and the tool stops with a message that says so. Save the workbook as .xlsx, or export the sheet as .csv, and convert that.
Why are some values in the wrong column?
Excel does not save empty cells, and the tool places each row's values in the order they are stored, so a blank cell in the middle of a row shifts everything after it one column to the left. Type a dash or a zero in blank cells before converting if column alignment matters.
Does it work with CSV files that use semicolons or tabs?
No. A CSV is split on commas only, so a semicolon-separated or tab-separated file puts each whole line in one column, and a decimal comma such as 3,50 still splits that value in two. Open it in a spreadsheet app and save it again with commas, or as .xlsx.
Can I get portrait pages or page numbers?
Not here: every page is landscape A4 and there are no layout options. For page numbers, run the result through Add Page Numbers.
Last reviewed