Excel to PDF: convert XLSX, XLS & CSV online
Free in-browser Excel to PDF converter. Open .xlsx, .xls or .csv, pick page size and orientation, and export every sheet to a single PDF with auto page-break and a styled header row. Powered by SheetJS + jsPDF — nothing is uploaded.
Drop XLSX / XLS / CSV here
Or click to choose. One file at a time. Stays on your device.
Choose fileWhen to convert Excel to PDF
Send a clean report
Email a financial summary that everyone can open — no Excel licence required on the recipient's end.
Print large sheets
Auto page-break a wide table over multiple landscape pages.
Freeze the values
Snapshot a quote, an invoice or a price list so it can't be edited downstream.
Form upload portals
Government and HR portals often only accept PDF — convert your spreadsheet first.
How to convert Excel to PDF online
Drop your spreadsheet
Drag an .xlsx, .xls or .csv file onto the page, click to browse, or paste from clipboard. SheetJS parses every sheet locally in your browser.
Pick page settings
Choose A4 / Letter / Legal, portrait or landscape, and adjust the margin. Wide tables fit better in landscape; long ones in portrait.
Click Convert
Every sheet is rendered with auto-fit columns and a styled header row. Wide sheets are split across multiple pages automatically.
Download the PDF
The generated PDF appears for download in seconds. Nothing is uploaded — both SheetJS and jsPDF run entirely in your browser.
About converting Excel and CSV to PDF
This Excel to PDF converter online takes any modern spreadsheet — Microsoft Excel .xlsx, legacy .xls (BIFF2 → BIFF8), Apple Numbers exports, Google Sheets exports, OpenDocument .ods and plain .csv — and turns it into a clean, printable PDF without uploading the file anywhere. Parsing is done by SheetJS (the industry-standard JavaScript spreadsheet library) and PDF generation by jsPDF + jspdf-autotable.
Sheets and tabs
Every sheet in a workbook becomes its own section in the PDF with a heading bearing the sheet name. To convert only some sheets, duplicate the workbook in Excel and delete the sheets you don't want before exporting.
Formulas, formatting & cell values
SheetJS reads the cached values that Excel wrote the last time the file was saved — it does not re-evaluate formulas. As long as you saved the file after every change, what you saw in Excel is what you'll see in the PDF. Number formats (currency, dates, percentages) are preserved; cell fonts and colours are best-effort because jspdf-autotable renders all cells in a consistent table style for readability.
Page size, orientation & margins
A4 (210 × 297 mm) is the global default; Letter (8.5 × 11 in) is the US default; Legal (8.5 × 14 in) is for long tables. Landscape suits wide tables with 8+ columns; portrait suits long tables with many rows. Adjust the margin to trade off white space against fit.
Wide tables & long rows
When a single sheet has more columns than fit the page width, jspdf-autotable shrinks the font and column widths to fit; if still too wide it splits across pages by column group with a continued-page marker. Long sheets (1000+ rows) are paginated automatically with a repeating header row on every page.
CSV vs XLSX
For very simple data, exporting as CSV and uploading it here often produces a cleaner PDF than the original XLSX because there's no styling baggage to translate. For complex workbooks with multiple sheets, charts and pivot tables, keep the XLSX — charts and pivots become flat tables (we can't re-render them in-browser) but data integrity is preserved.
Privacy & offline use
The page works offline once loaded. SheetJS reads the file via the FileReader API and the entire conversion runs in JavaScript — no third-party server, no cloud, no telemetry. Pair with our PDF Compressor if the result needs to be smaller for email.
Excel to PDF — frequently asked questions
Drop the .xlsx, .xls or .csv file in, pick page size and orientation, then click Convert. Every sheet becomes one or more PDF pages with auto-fit columns and a styled header row. The PDF is generated in your browser.
No. SheetJS parses the spreadsheet and jsPDF builds the PDF entirely inside your browser. The file never leaves your device.
Yes. Every sheet in the workbook is rendered into the same PDF, separated by a sheet-name heading. To convert only some sheets, delete the others in Excel first.
The cached values produced by Excel when the file was last saved are used. SheetJS does not re-evaluate formulas — what you saw in Excel is what you get in the PDF.