---
title: "Excel to PDF Converter - XLSX and CSV to PDF - CartHacker"
description: "Convert Excel spreadsheets and CSV files into a readable PDF. Number formats, dates, currency and column widths are reproduced, not dumped as raw values."
url: "https://carthacker.com/pdf-tools/excel-to-pdf/"
image: "https://carthacker.com/wp-content/themes/carthacker-core/assets/og/pdf-excel-to-pdf.jpg?v=1791719545"
publisher: "CartHacker (carthacker.com)"
language: "en"
---

# Excel to PDF Converter: Convert a spreadsheet to PDF locally in your browser - keep your column widths, dates and currency

Drop your workbook into the emerald zone below and get a readable PDF back in seconds. **Dates print as dates, currency keeps its symbol and its decimals, and the column widths you set in Excel are the column widths you get.** Every sheet, number format and cell fill is read out of the XML by your own processor. Your financial data never leaves your machine.

- Files never leave your device
- No installation, no watermark
- Works offline once the page is open

XLSX to PDF, Live

- **Privacy:** 100% private
- **Your plan:** Free to use
- **You get:** Single PDF

Your files are read by JavaScript running on your own machine. There is no upload, no queue, and no copy on our server to delete later.

The converter above is live and strictly local. **The engineering manual below explains how to convert Excel to PDF without wrecking the layout** - how a stored serial number turns back into 06 Oct 2026, where the engine decides to break a page when a spreadsheet has no pages of its own, and what happens to formulas, charts and hidden sheets on the way through.

## How to Convert an Excel Spreadsheet to PDF for Free

One minute, no installation, and no account for your first run. **This Excel to PDF converter executes entirely inside the page you are reading**, so every step of the job happens on your own hardware.

1. **Drop your workbook into the emerald zone.** Click the drop area above or drag the file anywhere onto this page. **The workbook is opened locally as it lands** and the card reports how many sheets it holds. CSV and TSV files are parsed directly and never need converting to XLSX first.
2. **Choose Fit to width or Actual size.** **Fit to width scales the whole sheet down, to a floor of 35 percent, until every column lands on one page width.** Actual size keeps the type at full weight and continues wide sheets onto further pages to the right. Use Actual size for a forty column data export, where legibility matters more than a tidy single page.
3. **Set orientation, sheets and the repeating header.** Leave Orientation on landscape, because a spreadsheet is almost always wider than it is tall. Which sheets decides between every visible sheet and the first one only. **Leave Repeat the first row on every page switched on, or page four of a price list arrives with no column names on it.**
4. **Convert the file and audit the widest sheet.** Press Convert to PDF and let your own processor do the work. **Open the result and check your widest sheet first, then any column holding dates or currency.** If the numbers look cramped, switch to Actual size and run it again.

Dropping several workbooks at once gives you **one combined PDF, merged in the order the cards appear on screen**, which is how a month of supplier statements becomes a single attachment. Each sheet still starts on a fresh page with its name in the header. Turn off *Merge all workbooks into one PDF* to get one file per workbook instead.

A batch holds 20 files and 100 MB on a free account, and a visitor who is not signed in gets 1 conversion every 12 hours against 2 for a free account. **CartHacker Premium takes each batch to 100 files and 500 MB and removes the conversion counter**, which is what a finance team closing a month of management accounts actually runs into.

## The Engineering Behind Spreadsheet to PDF Conversion

An .xlsx file is a ZIP archive full of XML, standardized as ECMA-376. Rename one to .zip and open it: `xl/workbook.xml` lists the sheets, `xl/worksheets/sheet1.xml` holds the cells, and `xl/styles.xml` holds the number formats and fonts that make those cells mean anything.

That structure is why this converter can run in a browser tab at all. A ZIP decoder and an XML parser rebuild the grid locally, with **no headless server, no remote copy of Office and no upload**. The whole job is arithmetic over text files you already have.

### Why a cell is not just a value

This is the difference between a converter and a tool that prints a database dump. Rendering one cell correctly takes four separate lookups:

- **A number cell holds a bare number and a style index.** The cell you read as `06 Oct 2026` stores `46301` and nothing else. The date lives in a format table two files away.
- **A text cell holds an index into the shared string table.** Two hundred rows reading "North" store the word once and point at it two hundred times, which is why the file is smaller than the grid suggests.
- **A formula cell holds the equation and the value Excel last calculated.** The cached value is what prints.
- **The style index points into a format table** holding the font, the fill and the number format rules for that cell.

Resolve all four, in that order, for every cell. Skip the formatting lookup and you get a page of five digit integers where the invoice dates were supposed to be.

**Verify our zero-trust privacy claim in thirty seconds.** Load this web page, physically pull your network cable or disable Wi-Fi, and hit convert. The engine still works, because there is no server-side step to lose.

## Number Formats, Serial Dates, and the 1900 Leap Year Bug

Excel stores a date as the number of days since the start of 1900. Nothing in the cell says "this is a date". The only thing that turns 46301 into a delivery date your warehouse can read is a format code sitting in another table entirely.

### The built-in formats nobody writes down

Format codes 0 to 49 are defined by the specification itself and are **never written into the file**. A cell simply declares "use format 14" and expects the reader to know what that means. A converter without that lookup table hardcoded prints every date as a five digit number, which is the single most common failure in free spreadsheet exports. We built the table in.

| Stored in the cell | Format rule | Printed in the PDF |
| --- | --- | --- |
| 46301 | Built-in 14, mm-dd-yy | 10-06-26 |
| 46301 | yyyy-mm-dd | 2026-10-06 |
| 46301 | mmmm yyyy | October 2026 |
| 46301.75 | h:mm AM/PM | 6:00 PM |
| 1234567.89 | #,##0.00 | 1,234,567.89 |
| 0.1567 | 0.0% | 15.7% |
| -42 | #,##0;(#,##0) | (42) |
| 45.5 | Custom currency prefix | The exact prefix, then 45.50 |

### The leap year that never happened

Excel believes 29 February 1900 existed. It did not. Lotus 1-2-3 shipped that bug in 1983 and Microsoft copied it deliberately, because matching a competitor mistake was cheaper than breaking every file in existence. Every serial from 61 upward is therefore a day out. **The engine anchors its epoch to compensate**, so the date in your PDF is the date on your screen.

Cell fills, horizontal alignment, thousands separators, fixed decimal places and the trailing comma that scales a figure by a thousand are all reproduced. Numbers stay right aligned and text stays left aligned, since a column of prices flushed to the left margin is the mark of a converter that read the values and ignored the formatting.

## Column Widths, Page Splitting, and Overflow Text

A spreadsheet has no pages. It is an unbounded grid, and a Word document is not, which is why a converter that treats the two the same produces nonsense. **Every page break in your PDF is a decision this engine made, and the rules behind those decisions are worth knowing before you print 300 rows.**

### Where column widths come from

Excel measures column width in characters of the default font, which is a genuinely strange unit. The engine converts it the way Excel itself does: seven pixels per character, plus five pixels of cell padding, then multiplied by 0.75 because one screen pixel is exactly three quarters of a typographic point. A column you widened by hand to fit a product description stays that width in the PDF. Hidden columns come through as zero width and simply do not print. A CSV has no widths at all, so each column is measured against its own longest cell and clamped between 28 and 240 points.

### Where the page breaks land

Vertical breaks are decided row by row. The engine measures the height of the next row, and if drawing it would cross the bottom margin it opens a new page first. **A row is never split across two pages**, so a wrapped three line address moves down whole rather than losing its last line to the page edge. Row heights you set in Excel are honored, with a floor tied to the type size so a deliberately squashed row stays readable.

Horizontal breaks work differently. Under Actual size, columns are packed greedily into as many page-wide bands as they need, and the bands print in order: **every page of the first column band top to bottom, then the second band starts again at row one**. Read a wide export as a set of vertical strips rather than as a scroll. Every page carries a header band 22 points deep with the sheet name on the left, and on the right the sheet number, the column range as spreadsheet letters, and the page number within that band.

One honest limitation. The engine does not read the print area you defined in Excel or the manual page breaks you dragged into place under Page Layout, so it lays out every visible cell using the rules above rather than following your printer setup. If a specific pagination is contractual, put the block you need on its own sheet, or use native Excel export for that file.

### Fit to width and Actual size

| Layout Setting | What it does | When to use it |
| --- | --- | --- |
| Fit to width | Scales the whole sheet down, to a floor of 35 percent, until every column fits across one page. Type shrinks with it but stops at 60 percent of its base size. | Management reports, invoices and price lists that somebody has to scan in one glance. |
| Actual size | Keeps type at full size and pushes the columns that do not fit onto further pages to the right. | Heavy working documents: a forty column financial export where every figure has to stay legible. |

Sheets that are hidden in Excel are never included, and empty sheets are skipped rather than printed as a blank page. Each sheet begins on a fresh page. *Draw gridlines* paints the cell grid at hairline weight, and switching it off suits a report that already uses fills to separate its sections.

### Handling text wider than its column

- **Spill into empty cells, as Excel does.** The default. A label runs on into the columns beside it for as long as those cells are empty and the current band lasts. A right aligned cell never spills, so a long number is cut rather than run backward across your figures.
- **Wrap it and make the row taller.** Text is broken inside the column and the row grows to fit. Lines that would fall below the row are dropped, so this works best with wrap already set on the cell in Excel.
- **Cut it off at the column edge.** The text is truncated with an ellipsis. Use it when the grid alignment matters more than the full string. Whichever mode you pick, every truncated cell is counted on the result screen so nothing disappears quietly.

## CSV Files, Formulas, and What Does Not Translate

**Converting CSV to PDF** runs through a strict RFC 4180 parser rather than a split on commas. That distinction stops being academic the first time a company address field contains its own comma and every column after it shifts one place to the left.

- **Quoted fields are respected.** Internal commas, a doubled quote standing for a literal quote, and newlines inside a single cell all parse correctly.
- **The delimiter is detected, not assumed.** Commas, semicolons, tabs and pipes are tested across the first ten lines, which is what a European export saved with semicolons needs.
- **Byte order marks are stripped.** Otherwise an invisible character sits at the front of your first column heading and every lookup against it fails.

### What does not survive the conversion, stated honestly

| Feature | Result | Engineering Reason |
| --- | --- | --- |
| Formulas | Printed as the final value | We print the value Excel cached at the last save. A PDF is a static document and not a calculation engine. |
| Charts and Graphs | Not carried | Excel builds charts from the data at display time. The file holds the numbers and no picture of the result. |
| Floating Images | Not carried | A floating picture sits on top of the sheet rather than inside the grid, so it has no cell to belong to. |
| Conditional Formatting | Not carried | The rule is stored, but the color is not. Evaluating it needs a full spreadsheet engine running your formulas. |
| Cell Borders | Replaced by a clean grid | Custom border weights give way to one uniform hairline grid, which you can switch off entirely. |
| Hidden Sheets | Skipped entirely | Hidden sheets and columns are working calculations far more often than they are content, and printing them by accident is how internal margins reach a customer. |

**If your workbook is really a dashboard, use native Excel export.** This engine is built for grids of text and numbers, and a page of labeled frames where your charts used to be helps nobody.

## Zero-Trust: Your Financial Data Never Reaches Our Server

A spreadsheet is usually the most sensitive file a business owns. Payroll, a cap table, a management account, next year pricing: all of it is one upload away from a disk you do not administer, because most online PDF sites are an upload form in front of a headless server. The privacy policy on those sites is a promise about what the server does. It is not a statement about what the server can do.

This converter has no upload endpoint. Your workbook is decompressed and parsed by JavaScript on your own processor, laid out in local memory and handed back as a Blob download. **The file exists on your hard drive and in your RAM, and nowhere else.**

### Run the security audit yourself

1. Open your browser Developer Tools and switch to the Network panel.
2. Convert a workbook and watch the outgoing requests.
3. You will see one small JSON ping carrying the tool name for anonymous analytics. No cell data leaves the machine.
4. **The decisive test: turn off your Wi-Fi and hit convert.** The engine still works offline, which no cloud converter can do.

Hidden metadata does not travel either. Because the PDF is built fresh from layout data rather than exported through Office, **author names, department fields and total editing history never reach the output file**. Only a creation date and a title are written.

## When a Conversion Goes Wrong, and What It Means

Format errors are flagged on the file card before the run starts, so a rejected file never costs you a conversion.

| Symptom | Cause | Fix |
| --- | --- | --- |
| Legacy format rejected (.xls) | The file is a pre-2007 binary container rather than a ZIP archive of XML. | Open it in Excel or LibreOffice, save as .xlsx, and run it again. |
| Dates print as raw 5-digit numbers | The cell carries no date format in the source file, so the number is all there is to print. | Format the column as a date in Excel and save. The converter honors your formatting and never guesses at it. |
| Columns look squashed | Fit to width scaled a very wide sheet down toward the 35 percent floor. | Switch Column fitting to "Actual size" so the type keeps its weight and the extra columns move onto further pages. |
| A long text label is cut off | Overflow is set to cut at the column edge, or the neighboring cell holds something invisible such as a space. | Switch overflow to "Wrap it and make the row taller", or widen the column in Excel. Truncated cells are counted on the result screen. |
| A specific sheet is missing | The sheet is flagged hidden in the XML, or it holds no rows at all. | Unhide it in Excel and run again. Hidden sheets are skipped deliberately, because they usually hold working calculations. |
| Charts are missing entirely | Excel draws charts from data at display time and stores no picture of them. | Use native Microsoft export if the workbook is mainly a visual dashboard. |
| CSV imports as one giant column | The delimiter test had too few rows to reach a confident answer. | Open the CSV in Excel, save it as .xlsx, and convert that instead. |
| Characters replaced on result screen | The sheet uses an unsupported script such as CJK, Arabic or Hebrew. | European scripts, Cyrillic and Polish diacritics included, always report zero failures. For the rest, use native Excel export. |

### Pre-flight checks before client delivery

1. Convert the file and open the PDF beside your source spreadsheet.
2. Check the widest sheet first, then every column holding dates or currency.
3. Read the result screen. If it reports truncated cells, widen those columns and run it again.
4. Print one page. A layout error is far easier to see on paper than on a monitor at 80 percent zoom.

## Frequently Asked Questions

### Is my spreadsheet uploaded to your server when converting Excel to PDF?

No. This tool converts Excel to PDF locally inside your browser on a zero-trust model. **Your workbook is never transmitted, queued or stored on our servers.** Disconnect from the network after the page loads and the conversion still completes, which is the simplest proof anyone can run.

### Will my dates and currency formatting be preserved in the PDF?

Yes. Excel stores dates as serial numbers counting days from 1900, so 46301 is all the cell really holds. **The engine carries the full table of built-in format codes, which is what turns that number back into a readable date.** Currency symbols, decimal places and negative figures in brackets print exactly as they appear in the source file.

### Can I convert a CSV file to PDF using this tool?

Yes. **Drop a CSV or TSV straight into the zone with no conversion to XLSX first.** A strict RFC 4180 parser handles quoted fields, commas inside a value and newlines inside a cell, and the delimiter is detected across the first ten lines, so a European export saved with semicolons lines up correctly.

### What happens if my Excel spreadsheet is too wide for a standard PDF page?

You decide. **Fit to width scales the sheet down, to a floor of 35 percent, so every column lands on one page width.** Actual size keeps the type at full weight and pushes the remaining columns onto further pages, printed as vertical strips: every page of the first group of columns, then the next group starting again at row one.

### Are my Excel formulas converted, or just the final calculated results?

Only the results print. **A formula cell stores both the equation and the value Excel calculated at the last save, and the cached value is what the engine reads.** A PDF is a static document, so building a live calculation engine into a converter would add risk without adding anything you could use.

### Are Excel charts and embedded images included in the final PDF?

No. **Excel draws charts from the underlying data at the moment they are displayed, so the file holds the numbers and no picture of the chart.** Floating images sit on top of the grid rather than inside it and are skipped for the same reason. If the workbook is mainly a dashboard, use native Office export.

### How do I convert an older legacy .xls file to PDF?

Not directly here. The pre-2007 .xls format is a binary container rather than a ZIP archive of XML, and nothing in a browser can read it. **Open the file in Microsoft Excel or LibreOffice, save it as .xlsx, then drop that file into the converter.**

### Can I merge multiple Excel spreadsheets into a single PDF file?

Yes, and that is the default. **Drop several workbooks at once and they concatenate into one PDF in the order the cards appear on screen, with each sheet starting on its own page under its own name.** It is the cleanest way to turn a month of supplier statements into one attachment. Switch off Merge all workbooks into one PDF for separate files.

### Does the original author name and hidden metadata end up in the PDF?

No. An XLSX carries hidden properties such as the original author, department fields and total editing history. **None of it reaches the output, because the PDF is built fresh from layout data rather than exported through Office.** Only a creation date and a title are written into the file.

### Are there file size limits or watermarks on the free converter?

**There are no watermarks, logos or forced attribution links, and the output is cleared for commercial use.** A batch holds 20 files and 100 MB, with 1 conversion every 12 hours for a visitor who is not signed in and 2 for a free account. CartHacker Premium raises the batch to 100 files and 500 MB and removes the counter.

## The rest of the PDF suite

All of these run the same way: your file is read by JavaScript on your own machine, the work happens on your processor, and the result is handed back to you as a download that never existed anywhere else.

Organize PDF

- [Merge PDF](https://carthacker.com/pdf-tools/merge-pdf/)
- [Split PDF](https://carthacker.com/pdf-tools/split-pdf/)
- [Remove Pages](https://carthacker.com/pdf-tools/remove-pages/)
- [Extract Pages](https://carthacker.com/pdf-tools/extract-pages/)
- [Organize PDF](https://carthacker.com/pdf-tools/organize-pdf/)
- [Scan to PDF](https://carthacker.com/pdf-tools/scan-to-pdf/)

Convert to PDF

- [JPG to PDF](https://carthacker.com/pdf-tools/jpg-to-pdf/)
- [PNG to PDF](https://carthacker.com/pdf-tools/png-to-pdf/)
- [WebP to PDF](https://carthacker.com/pdf-tools/webp-to-pdf/)
- [AVIF to PDF](https://carthacker.com/pdf-tools/avif-to-pdf/)
- [GIF to PDF](https://carthacker.com/pdf-tools/gif-to-pdf/)
- [BMP to PDF](https://carthacker.com/pdf-tools/bmp-to-pdf/)
- [Word to PDF](https://carthacker.com/pdf-tools/word-to-pdf/)
- [PowerPoint to PDF](https://carthacker.com/pdf-tools/powerpoint-to-pdf/)
- Excel to PDF
- [HTML to PDF](https://carthacker.com/pdf-tools/html-to-pdf/)

Convert from PDF

- [PDF to JPG](https://carthacker.com/pdf-tools/pdf-to-jpg/)
- [PDF to PNG](https://carthacker.com/pdf-tools/pdf-to-png/)
- [PDF to WebP](https://carthacker.com/pdf-tools/pdf-to-webp/)
- [PDF to AVIF](https://carthacker.com/pdf-tools/pdf-to-avif/)
- [PDF to GIF](https://carthacker.com/pdf-tools/pdf-to-gif/)
- [PDF to BMP](https://carthacker.com/pdf-tools/pdf-to-bmp/)
- [PDF to Word](https://carthacker.com/pdf-tools/pdf-to-word/)
- [PDF to PowerPoint](https://carthacker.com/pdf-tools/pdf-to-powerpoint/)
- [PDF to Excel](https://carthacker.com/pdf-tools/pdf-to-excel/)
- [PDF to HTML](https://carthacker.com/pdf-tools/pdf-to-html/)
- [PDF to PDF/A](https://carthacker.com/pdf-tools/pdf-to-pdfa/)
- [PDF to Markdown](https://carthacker.com/pdf-tools/pdf-to-markdown/)

Edit PDF

- [Rotate PDF](https://carthacker.com/pdf-tools/rotate-pdf/)
- [Add Page Numbers](https://carthacker.com/pdf-tools/add-page-numbers/)
- [Add Watermark](https://carthacker.com/pdf-tools/add-watermark/)
- [Crop PDF](https://carthacker.com/pdf-tools/crop-pdf/)
- [Edit PDF](https://carthacker.com/pdf-tools/edit-pdf/)

PDF Security

- [Unlock PDF](https://carthacker.com/pdf-tools/unlock-pdf/)
- [Protect PDF](https://carthacker.com/pdf-tools/protect-pdf/)
- [Sign PDF](https://carthacker.com/pdf-tools/sign-pdf/)
- [Redact PDF](https://carthacker.com/pdf-tools/redact-pdf/)

Optimize PDF

- [Repair PDF](https://carthacker.com/pdf-tools/repair-pdf/)
- [OCR PDF](https://carthacker.com/pdf-tools/ocr-pdf/)

Free CartHacker tools

## Free speed test and trust badges for Shopify and WooCommerce stores

Find the apps that slow your store down, by name and in milliseconds, then answer shoppers' doubts with trust badges under Add to cart. **Both are free, with no card and no access to your store admin.**

Store Speed Test

### Which app is slowing your store down?

Paste any page and get its three Core Web Vitals, **the apps costing time, like Klaviyo or Judge.me**, and the Shopify or WooCommerce fix.

- 1 free test a day, no sign-up
- 5 a day on a free account
- Google's Lighthouse engine

Trust Seals & Badges

### Do shoppers hesitate at Add to cart?

Show the promises that settle doubts, from free shipping to a money-back guarantee, **right under the Add to cart button**. One line in your theme.

- 8 badges in 2 styles, free
- Premium: 50 badges, 30 languages
- View counts from the first shopper

[Build my trust badges](https://carthacker.com/trust-badges/#builder) Design them without signing up.

Also free

[QR Code Generator](https://carthacker.com/qr-code-generator/)

Change the link after printing and count the scans. **5 tracked codes on a free account**, static codes unlimited.

- Logo and colors
- SVG for print
- Wi-Fi and business cards

---

Source: [Excel to PDF Converter - XLSX and CSV to PDF - CartHacker](https://carthacker.com/pdf-tools/excel-to-pdf/), CartHacker.

## Free tools from CartHacker

- [Store Speed Test](https://carthacker.com/store-speed-test/): Check your store's Core Web Vitals for free.
- [Core Web Vitals Monitoring](https://carthacker.com/core-web-vitals-monitoring/): Monitor your store's Core Web Vitals every day, for free.
- [Trust Seals & Badges](https://carthacker.com/trust-badges/): Add trust badges under your Add to cart button.
- [QR Code Generator](https://carthacker.com/qr-code-generator/): Make a QR code you can still change after printing.
- [PDF Tools](https://carthacker.com/pdf-tools/): 39 free PDF tools that run in your browser: merge, split, convert to and from Word, Excel and JPG, sign, redact and protect. No file is ever uploaded.
- [CartHacker Premium](https://carthacker.com/premium/): one subscription, monthly or yearly, that upgrades every tool at once:
  - 50 trust badges in 30 languages, switched automatically
  - 180 days of Core Web Vitals, per page
  - All 39 PDF tools, unlimited and never uploaded
  - 200 QR codes, tracked and editable after printing
  - No ads on any guide or tool
  - Every new guide 2 weeks before the public
  - Product Feed Manager and new tools included
- Every quota and price, tool by tool: https://carthacker.com/llms.txt
