Skip to content

Excel to PDF Converter

Convert .xlsx, .xls, .csv, or .ods spreadsheets to PDF. Each sheet renders to its own page or pages.

Uploaded to our server over TLS·auto-deleted in 10 minutes.

Learn more

Files are processed on our secure server and automatically deleted after 10 minutes. Max file size: 50.0 MB.

About this tool

Spreadsheets do not survive being emailed around as raw .xlsx files — recipients open them in different versions of Excel (or LibreOffice, or Google Sheets, or Numbers), columns reflow, conditional formatting renders differently, and your carefully designed monthly summary turns into noise. PDF fixes that. This tool uploads your spreadsheet to a server in Germany (Hetzner data center) running LibreOffice Calc, which lays each sheet out using whatever print settings the source file specified (or sensible defaults if none are set), and renders the result as PDF. Cell colors, fonts, borders, conditional formatting, and charts all carry through. The file is deleted from the server within 10 minutes of completion. The trade-off is that wide sheets may break across multiple pages if you did not set a print area — the how-to below explains how to set one, and the FAQ covers the format-specific gotchas (date columns in CSV, Apple Numbers exports, embedded charts).

How to excel to pdf converter

  1. Upload your spreadsheet

    .xlsx, .xls, .csv, and .ods all work. Drag and drop or click to browse.

  2. Wait for the conversion

    LibreOffice Calc opens the file, applies the print settings, and renders each sheet to its own page or pages.

  3. Download the PDF

    Output is a multi-page PDF with one section per sheet. Sheet names are not included by default — you can add them as headers in Excel before converting.

  4. Open and verify

    Check that wide sheets did not break in awkward places. If they did, set a print area in Excel (Page Layout > Print Area > Set Print Area) and re-convert.

Features

Multiple sheets handled

Each sheet in your workbook renders into its own section of the output PDF. So a workbook with three sheets (Summary, Details, Notes) gives you a PDF where pages 1-2 are Summary, pages 3-5 are Details, and so on. The order is the same as the tab order in Excel. To skip a sheet in the conversion, hide it in Excel first (right-click tab > Hide) — hidden sheets are not exported by LibreOffice. Veryhidden sheets (set via VBA) are also skipped.

Formatting preserved

Cell colors, font choices, font sizes, bold/italic, borders, fill patterns, conditional formatting — all carry through. Number formats (currency symbols with the right locale, dates in the chosen format, percentages, scientific notation) render exactly as they were in Excel. Charts and embedded images render as their last-cached visual state. The output looks like a printed copy of your spreadsheet, except crisp and selectable as text where the cells contained text.

CSV with basic table layout

CSV files (which have no formatting metadata) get a simple readable table layout: even column widths, header row in bold, alternating row shading. If you want nicer formatting from a CSV, open it in Excel first, format it however you like (set column widths, apply conditional formatting, mark date columns as Date), save as .xlsx, and re-upload. CSV-as-source is fine for raw data dumps but limited for presentation — the lack of formatting metadata in the source is the bottleneck, not the converter.

Wide sheets honored

Wide spreadsheets (lots of columns) get split across multiple PDF pages based on the print area you set in Excel. If you did not set a print area, the renderer uses a default A4 layout and splits columns at the page boundary, which can cut tables awkwardly. For full control, open the spreadsheet in Excel, go to Page Layout > Print Area > Set Print Area, choose landscape orientation if needed, optionally use Scale to Fit > 1 page wide, save, and re-upload here.

Frequently asked questions

Why is my wide sheet getting cut off?
Because no print area was set in the source file, so the renderer defaulted to A4 portrait and your columns spilled over. The fix is to open the spreadsheet in Excel (or LibreOffice, or Google Sheets), set the print area to include the columns you want, switch to landscape orientation, optionally apply Scale to Fit > 1 page wide, and re-save. Then re-upload here. Excel's Page Layout tab is where these settings live; LibreOffice's equivalent is under Format > Print Ranges.
Will my charts come through?
Yes. Embedded charts render in the PDF at their cached size and position. They are not interactive in the PDF (you cannot hover for tooltips), but visually they look the same as in Excel. Pivot tables are rendered as flat tables in their last-refreshed state — so if you have not refreshed a pivot recently, the PDF shows stale data. Refresh in Excel (right-click pivot > Refresh) before converting.
Why does my date column show as numbers?
Because the source file is CSV and CSV does not carry cell formatting metadata. A date in CSV is just text — "2025-01-15" or "45123" (the serial number Excel uses internally). The fix is to open the CSV in Excel, format the column as Date (right-click column > Format Cells > Date), save as .xlsx, and re-upload. Dates will then render as dates in the PDF.
Does it support Apple Numbers files?
.numbers files are not supported directly. Numbers uses a proprietary format that LibreOffice does not read. The workaround is to export from Numbers as .xlsx or .csv first (File > Export To > Excel), then upload here. Numbers' export is usually clean for typical spreadsheets — column widths, formatting, and formula results carry through to Excel format, and then through this tool to PDF.
Where does my file go?
Uploaded over HTTPS to our server in Germany. The file is processed in a temp directory by LibreOffice Calc, the output PDF is sent back to your browser, and both input and output are deleted from the server within 10 minutes by a janitor process. Nothing is logged about file contents, no copies are retained, and no analytics track the operation. The same flow applies to all server-side tools on the site.