📊 Excel to PDF

Convert .xlsx, .xls, .csv, and .ods spreadsheets to PDF in your browser. Free, no upload, with multi-sheet selection and adjustable font size.

What is Excel to PDF?

Convert Excel and other spreadsheets to PDF entirely in your browser. The tool parses .xlsx, .xls, .csv, and .ods files using <strong>SheetJS</strong> (xlsx), then renders each selected sheet as a clean landscape-A4 table using <strong>pdf-lib</strong>, with header bolding, alternating row backgrounds, automatic column-width fitting, and font-size control. <strong>Best-effort, data-focused</strong>: the converter is excellent for plain tabular data — sales reports, contact lists, inventory tables, time-tracking exports, school grade sheets. It does not render charts, conditional formatting, cell colors, embedded images, or formulas (formula results are preserved; the formulas themselves are not). Multi-sheet workbooks let you toggle which sheets appear in the output PDF. Files are processed locally — never uploaded.

How to Use

  1. Drag and drop your spreadsheet (.xlsx, .xls, .csv, or .ods) — or click to browse.
  2. Pick which sheets to include — multi-sheet workbooks default to all selected.
  3. Adjust the cell font size (6-14 pt) — smaller fits more columns; larger is easier to read.
  4. Review the live preview of the first sheet (8 rows shown).
  5. Click "Convert to PDF & download" — a landscape-A4 PDF saves to your downloads.

When to use this tool vs. Excel's native export

Excel's built-in PDF export (File → Save As → PDF) is the right choice for documents that depend on visual formatting — printed reports, dashboards with conditional formatting, charts, branded financial statements. This tool is the right choice in three other situations:

  • You don't have Excel. A .xlsx arrives in your inbox, you want a PDF for archiving, but Excel is not installed (perhaps you're on a Chromebook, a phone, or a borrowed computer). This tool runs in any modern browser.
  • The data is sensitive. Customer lists, financial records, salary tables, internal contact lists, security incident logs — uploading these to a third-party converter is a privacy risk. This tool keeps everything on your device.
  • You only need the data, not the formatting. Many real-world Excel files use cell colors, conditional formatting, and charts as decoration; the actual content people care about is the cell values. Stripping the visual flourishes makes the PDF more compact and more accessible.

For all other use cases — pixel-perfect dashboards, branded reports, charts that absolutely must appear — Excel's native export is the right tool.

How the table layout is computed

The conversion runs through three stages:

  1. Parse — SheetJS opens the spreadsheet, extracts every sheet's rows and cell values into a JavaScript 2D array. Numbers are formatted (integers stay as integers, decimals are trimmed), dates are converted to ISO 8601, booleans become "TRUE" / "FALSE", and empty cells become empty strings.
  2. Layout — for each selected sheet, the tool measures the longest cell content per column, computes natural column widths (capped at 60 characters to prevent runaway widths), then proportionally scales them down if the total exceeds the page width. Each column gets a minimum 40-pt width to remain readable. Cells longer than their column are truncated with an ellipsis at render time.
  3. Render — pdf-lib creates a landscape A4 PDF, draws a sheet-name header at the top of the first page, draws a bolded header row with a light grey background, then draws data rows alternating white / light-grey backgrounds for readability. When content overflows a page, a new page is created with the sheet name marked "(cont.)" and the header row repeated.

Total time on a modern laptop: 0.5-2 seconds for a 100-row, 10-column workbook; 5-10 seconds for a 5,000-row, 30-column workbook. Large workbooks may consume significant memory during rendering — drop the font size to 6-7 pt or split the workbook before converting if memory becomes a problem.

What carries across vs. what does not

ElementStatusNotes
Cell values✅ FullNumbers, text, dates, booleans
Formula results✅ FullLast-computed values are kept
Multi-sheet workbooks✅ FullEach sheet is its own section
Header row styling✅ FullBold + light grey background
Alternating row backgrounds✅ AutoImproves readability
Charts and graphs❌ DroppedUse Excel's native export
Conditional formatting❌ DroppedUse Excel's native export
Cell colors / fill❌ DroppedDefault white / grey only
Embedded images❌ DroppedCell values only
Formulas (the expression itself)❌ DroppedOnly the result is kept
Pivot tables❌ DroppedPre-flatten before converting
Merged cells⚠️ Top-left onlySpanned cells lose their span

Privacy and the SheetJS security advisories

The xlsx library used here has two known security advisories — a regex denial-of-service and a prototype pollution issue. Both are only exploitable when an attacker controls the spreadsheet file you are about to parse. Because this tool processes files you chose from your own device (typically your own work files), the practical risk surface is essentially zero. The worst case is that you parse a maliciously-crafted file from an untrusted source and your browser tab freezes for a few seconds — at which point you close the tab and move on. None of the advisories affect privacy or data exfiltration; they're classic DoS-style issues.

By contrast, server-side Excel converters carry a much larger privacy risk: every uploaded spreadsheet is on a server you do not control, and many of those servers run the same vulnerable libraries with the same advisories. The added attack vectors include the operator reading your data, third-party hosting compromise, and indefinite retention. For sensitive spreadsheets, browser-side conversion remains the safer choice despite the libraries' theoretical issues.

Frequently Asked Questions

Which file formats does it support?

Modern Excel (.xlsx), legacy Excel (.xls), comma-separated values (.csv), and OpenDocument spreadsheet (.ods). All are parsed by SheetJS, which auto-detects the format from the file content. Google Sheets are not directly supported — export them as .xlsx or .csv first using File → Download in Google Sheets, then upload the export here.

Why does the output look different from Excel's "Save as PDF"?

Excel's built-in PDF export uses Microsoft's actual rendering engine, which preserves cell colors, conditional formatting, charts, and visual styles. This tool extracts cell values and renders them as a clean tabular PDF — no visual flourishes. The advantage is that the file is never uploaded to a server; the disadvantage is that the visual styling does not carry across. For pixel-perfect output, use Excel itself; for private, no-upload conversion of tabular data, use this tool.

Are formulas preserved?

Formula results are preserved (the cell shows whatever value the formula computed when the file was last saved). The formulas themselves are not — there is no "formula" concept in PDF. If you need the spreadsheet logic, send the original .xlsx file; if you need a snapshot of the data, this PDF captures it.

How are wide columns handled?

The tool measures the longest content in each column, computes natural column widths, and scales them down proportionally if the total exceeds the page width. Cells that are too wide for their column get truncated with an ellipsis (…). For very wide tables, drop the font size to 6-8 pt to fit more columns, or split the spreadsheet by columns before converting.

How are dates formatted in the output?

Date cells are rendered in ISO 8601 format (YYYY-MM-DD), e.g. "2026-04-27". This is unambiguous across locales and the format that databases, APIs, and most software accept. If you need locale-specific formats (M/D/YYYY for US, D/M/YYYY for EU), pre-format the date column in Excel before converting.

Are my files uploaded to a server?

No. The spreadsheet is parsed in your browser by SheetJS, the result is rendered to PDF by pdf-lib, and the output downloads from your browser tab. Open your network inspector while converting — there are no upload requests. Your data never leaves your device. This makes the tool safe for confidential financial data, customer lists, internal records, and any spreadsheet you would not normally upload to an unknown server.

Why did my output truncate at row N?

No truncation by design — every selected row appears in the output PDF, paginated across landscape-A4 pages with headers repeated on each new page. If your output is missing rows, check the source file: hidden rows in Excel are still parsed and exported. To exclude rows, delete them in Excel before converting.

Related Tools

  • 📄 Merge PDF — Combine multiple PDF files into one — drag, drop, reorder, and merge in your browser. Free, unlimited, no uplo
  • 📝 Word to PDF — Convert .docx Word documents to PDF in your browser. Best-effort text conversion — preserves headings, bold, i
  • 📝 PDF to Text — Extract editable text from any PDF in your browser. Free, fast, with page-break options, word & character coun
  • ✂️ Extract PDF Pages — Extract specific pages from a PDF into a new file. Free, browser-based, supports ranges like "1-3, 5, 7-9", od
  • 🔄 Rotate PDF — Permanently rotate PDF pages 90°, 180°, or 270° in your browser. Free, no upload, no watermark — supports per-
  • ✂️ Split PDF — Split a PDF into multiple files — every page, every N pages, or custom ranges. Free, browser-based, downloads
  • 🖼️ Image to PDF — Convert JPG, PNG, WebP, GIF, and HEIC photos into a single PDF in your browser. Reorderable thumbnails, page-s
  • 🖼️ PDF to Images (JPG, PNG, WebP) — Convert PDF pages to JPG, PNG, or WebP images. Free, browser-based, with quality slider, DPI control, page pic

Related: excel to pdf, xlsx to pdf, xls to pdf, spreadsheet to pdf, csv to pdf, ods to pdf, convert excel to pdf, excel pdf converter, excel to pdf online, excel to pdf free, excel to pdf no upload, browser excel to pdf, sheets to pdf, workbook to pdf, excel pdf without watermark