SmartQueryTools

Convert Arrow to Markdown Table Online

Convert Arrow files to a Markdown table directly in your browser. Copy the output and paste it into any Markdown document.

About converting Arrow to Markdown

Arrow to Markdown gives you a pasteable table without pandas.to_markdown, which needs the tabulate package, or a notebook at all. It is handy when a Polars or pyarrow job has left an .arrow file behind and you want to show a few rows in a GitHub issue, a pull request description, a dataset card on Hugging Face, or a message to a colleague.

Dataset cards are a good fit. Hugging Face stores each split as Arrow, and a README.md with a small sample table helps people decide whether a dataset is what they need. Pick representative rows in the SQL Query tool, convert them, and paste the table into the card.

The table covers the first 1,000 rows, far more than anyone will read, so trim before converting. Wide Arrow tables need trimming as well: a table with forty columns scrolls sideways on GitHub, and an embedding column turns every cell into a JSON list of hundreds of numbers. There is no pandas index column in the output, unlike to_markdown, which adds one by default. Nulls and NaN also look different in the table, which helps when the point of the example is missing data.

Worked example

A small sample file, converted with the default settings.

Input (Arrow)

Arrow IPC file (binary, columnar) — shown as a table with its schema

sensor_idsiteread_attemp_cok
101Dock A2026-03-02 09:15:00.1234.25true
102Dock A2026-03-02 09:15:00.1254.5true
205Cold Room 22026-03-02 09:15:01-18.75true
311Loading Bay2026-03-02 09:15:01.004NULLfalse

Schema: sensor_id INTEGER, site VARCHAR, read_at TIMESTAMP_NS, temp_c DOUBLE, ok BOOLEAN

Output (Markdown)

| sensor_id | site | read_at | temp_c | ok |
| --- | --- | --- | --- | --- |
| 101 | Dock A | 2026-03-02 09:15:00.123 | 4.25 | true |
| 102 | Dock A | 2026-03-02 09:15:00.125 | 4.5 | true |
| 205 | Cold Room 2 | 2026-03-02 09:15:01 | -18.75 | true |
| 311 | Loading Bay | 2026-03-02 09:15:01.004 |  | false |

What changes when you convert Arrow to Markdown

  • The header row uses the Arrow field names, followed by a --- separator row and one pipe-delimited line per record.
  • Nulls leave the cell empty, as for temp_c on sensor 311. NaN prints as the text NaN.
  • Timestamps show as 2026-03-02 09:15:00.123 in UTC, trimmed to milliseconds.
  • Pipes inside values are escaped and line breaks become <br>, so multi-line text such as prompts or descriptions stays inside its cell.
  • List, struct and map columns print as compact JSON text, such as [1,2,3] or {"lat":1.5}.

Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.

Frequently Asked Questions

Can I use this for a Hugging Face dataset card?

Yes. Convert a shard, or a sample you selected from it in the SQL Query tool, and paste the table into README.md. The Hub renders standard pipe tables.

Why is there no index column like pandas.to_markdown adds?

The table shows only the columns stored in the Arrow file. If pyarrow saved a non-default pandas index, it appears as an ordinary column, which you can drop before converting.

How do I keep long prompt or text columns readable?

Line breaks inside values already become <br>. For very long text, select left(prompt, 200) AS prompt in the SQL Query tool to shorten it before converting.

What is Markdown format?

Markdown is a lightweight plain-text format that renders as formatted content. Markdown tables can be embedded directly in README files, wikis, documentation sites, and any tool that supports CommonMark or GitHub Flavoured Markdown.

Related Tools