What this tool does
CSV to Parquet Converter
Headers become column names and every field is written as a STRING column. There is no numeric, date or Boolean inference. Cast columns explicitly in your analysis environment when needed.
Private, local-first data tools
Create a Snappy-compressed Parquet file locally. All columns are explicitly stored as strings so identifiers and original text survive the conversion.
The parser runs off the main thread. Once loaded, you can search, sort, validate, repair and export without an account.
Values such as 00123, 2026-09-13 and true are written as strings, not numbers, dates or Booleans. Empty cells stay empty strings. Explicit typing preserves identifiers and original spelling, but numerical analysis requires a deliberate cast. This converter does not infer nested structures, decimal precision or timestamp time zones.
import pandas as pd
# Requires a Parquet engine such as pyarrow.
df = pd.read_parquet("converted.parquet")
print(df.dtypes)
print(df.head())
# Convert a known numeric column explicitly:
# df["amount"] = pd.to_numeric(df["amount"], errors="raise")SELECT * FROM read_parquet('converted.parquet') LIMIT 10;
DESCRIBE SELECT * FROM read_parquet('converted.parquet');Replace the example filename with your actual download name. Compare row counts, column names and leading-zero values with the source. A downstream schema that requires integer or date columns may reject these string columns until you cast them explicitly.
Exports use Snappy compression. Compression ratios depend on the data, and metadata can outweigh savings for small tables. The browser retains the parsed table, creates column arrays and builds an output buffer. For recurring large-dataset jobs, use a local Python or DuckDB workflow. Incomplete input is blocked rather than silently exporting a partial dataset.
What this tool does
Headers become column names and every field is written as a STRING column. There is no numeric, date or Boolean inference. Cast columns explicitly in your analysis environment when needed.
Local files are read by a dedicated browser worker and are not uploaded to an application server. File contents and filenames are not included in analytics events. Loading a public URL is an explicit direct request from your browser and may fail when the remote server blocks CORS.
No. Repeated values can compress well, but metadata overhead can make a small Parquet file larger than its CSV source.
Output columns are strings. Convert the relevant columns to numeric types in Python or SQL before aggregation, and handle invalid values explicitly.