Skip to content

Excel XLSX to Apache Parquet converter

XLSX to Parquet works best on a clean rectangular sheet because Parquet needs stable column types that a report-style workbook may not provide.

  • Converted with Table engine · nothing stored
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

From real runs

What you get — and what changes

  • Rectangular data Kept

    A single Facts sheet with six typed columns and two rows wrote a 771-byte Parquet file and read back with the same row order.

  • Dates Changed

    Excel date cells read back from Parquet as ISO timestamp strings such as 2026-09-10T18:30:00.000Z.

  • Booleans Kept

    TRUE and FALSE worksheet values were preserved as boolean values when the generated Parquet file was read with our table engine.

  • Null cells Kept

    Blank worksheet cells became nullable Parquet values, visible as null for optional and amount fields in the verification run.

  • Mixed columns Lost

    A report workbook with a merged title over numeric columns failed with parquet cannot write mixed types: UTF8 and DOUBLE.

  • Workbook extras Lost

    Formulas, merged cells, styles, sheet tabs, comments, and filters are not part of the Parquet table output.

  • Parquet tuning Changed

    The current writer does not expose row-group sizing or compression controls through the public conversion options.

Sample conversions

Typed Facts sheet

Input
16,476-byte XLSX with id, created_at, active, amount, note, optional and two tidy rows.
Output
771-byte Parquet read back as [{"id":101,"created_at":"2026-09-10T18:30:00.000Z","active":true,"amount":1234.5,...}].

Report-style Orders sheet

Input
17,714-byte workbook with merged title row above headers and mixed text, dates, and numbers under generated columns.
Output
The API returned ENGINE_ERROR with parquet cannot write mixed types: UTF8 and DOUBLE, so the sheet needs a real header row before Parquet export.

A real Excel XLSX → Apache Parquet run

We converted our Excel XLSX sample (17 KB) with Table engine on 2026-09-11. It took 1 ms and produced a 778 B Apache Parquet file, 96% smaller than the input. The engine raised 2 warnings, listed below.

Input · sample.xlsx · 17 KB

Workbook with 2 sheets (Pipeline, Notes); first sheet 5 rows, 25 cells, 0 formulas

Sheets
2
Sheet names
Pipeline, Notes
Rows
5
Cells
25
Formulas
0
frozenHeader
no

Output · sample.parquet · 778 B

Parquet file (PAR1 magic present)

footerHints
0
  • Workbook contains multiple sheets; each sheet was exposed as its own IR table.
  • Only the first table was written to this single-table format.

Options and when to change them

sheet
Select the clean data sheet before writing Parquet from a multi-tab workbook.
headerRowIndex
Set the actual header row so title text does not mix with numeric data in the same Parquet column.
dateHandling
Use date mode when timestamp columns should be typed before Parquet writing.

Do it yourself

Python pandas and pyarrow

bash
python - <<'PY'
import pandas as pd
df = pd.read_excel("in.xlsx", sheet_name="Facts")
df.to_parquet("out.parquet", engine="pyarrow", index=False)
PY

Clean mixed-type columns first; pyarrow will also reject some ambiguous object columns.

Excel XLSX to Apache Parquet by API or MCP

The HTTP API and the MCP server run the exact engine this page uses (Table engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=xlsx&to=parquet.

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.xlsx" -F "from=xlsx" -F "to=parquet" \
  -F 'options={"sheet":""}' \
  --output output.parquet

Options this engine accepts for Excel XLSX → Apache Parquet

KeyApplies toTypeDefault
sheetReading Excel XLSXstring
headerRowIndexReading Excel XLSXnumber0
dateHandlingReading Excel XLSXdate · stringdate
API reference

When this is the wrong conversion

  • Use /convert/xlsx-to-csv when the sheet is messy and you need to clean title rows or merged headers manually.
  • Keep XLSX if analysts need formulas, formatting, comments, or several worksheets in one file.

Excel XLSX to Apache Parquet questions

Why did XLSX to Parquet fail on my workbook?

Parquet columns need stable types. In our rich workbook test, a merged title row caused text and numbers to land in the same generated column, and the writer rejected it.

Are Parquet compression settings available?

Not through the current public options. The tabular writer creates the Parquet file directly and does not expose row group or compression tuning controls.

Does XLSX to Parquet keep blank cells?

Blank cells become nulls in the table. The verified Parquet output read back null for the optional field in the first row and for amount in the second row.