Group Concatenate Parquet Files Online
Concatenate text values within each group in Parquet files directly in your browser. Group rows by a column and join the values of another column into a single delimited string — no upload required.
How to group Concatenate Parquet files
- Drop your file onto the upload area. The first 200 rows are shown so you can check the columns loaded correctly.
- Pick a Group by column, or leave it on "No grouping (whole file)" to join every value into a single cell.
- Choose the column to concatenate values from, then set the separator (", " by default) and the output column name ("values" by default). Type \n in the separator for a new line or \t for a tab.
- Optionally pick a column under "Order values within group by" and a sort direction, so the joined values come out in a predictable order.
- Click Concatenate Values, check the result, and download it in the same format you uploaded. The file has one row per group.
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.
Worked example
A blog CMS exports one row per article and tag. The editor wants a single row per article with all its tags in one cell, sorted alphabetically, to paste into a content audit.
Input (Parquet)
Parquet file (binary, columnar) — shown as a table with its schema
| article_slug | tag | added_by |
|---|---|---|
| csv-vs-parquet | parquet | mia |
| csv-vs-parquet | csv | mia |
| json-basics | json | raj |
| csv-vs-parquet | file-formats | omar |
| json-basics | apis | raj |
Schema: article_slug VARCHAR, tag VARCHAR, added_by VARCHAR
Settings
- Group by: article_slug
- Concatenate values from: tag
- Separator: ", "
- Order values within group by: tag, Ascending
- Output column name: tags
Result
| article_slug | tags |
|---|---|
| csv-vs-parquet | csv, file-formats, parquet |
| json-basics | apis, json |
Five rows become two, one per article. Only the group column and the new tags column are kept, so added_by is dropped. Tags are sorted A to Z inside each cell because tag was chosen as the ordering column. The output rows themselves are sorted by article_slug. Without an ordering column, the tags would still be joined, but their order inside each cell is not guaranteed.
Working with Parquet files
The output column is written as a Parquet string column, whatever the type of the source column. Integers, decimals, dates and timestamps are converted to text before joining. Dates appear as 2026-06-01 and timestamps as 2026-06-01 14:20:00. Decimal columns keep their stored scale, so 1.50 stays "1.50" rather than becoming "1.5". The ordering column can be a different column from the one being joined, and it keeps its Parquet type for sorting. Ordering by a TIMESTAMP column lists values in the order the events happened, at full sub-second precision, which text ordering on a formatted date could not guarantee.
The group column keeps its original Parquet type, so an INT64 customer_id is still INT64 in the result. List and struct columns can be used as the value column, but each element is rendered as text such as [1, 2] or {'a': 1}, which is rarely what you want. For nested data, extract the field you need into its own column first. Very large groups produce very long strings, and Parquet stores these without a length limit.
Frequently Asked Questions
What type is the concatenated column in the Parquet output?
A string (VARCHAR) column. The group-by column keeps its original type, but the joined values are always text.
Can I concatenate a Parquet list column into one string?
The tool will run, but each list is written in bracket form like [1, 2], so you get lists inside a string. Flatten or unnest the list first if you want the individual elements joined.
Which columns are kept in the output?
Only the group-by column and the new concatenated column. Every other column is dropped, because the result has one row per group. With no grouping, the output is a single row with a single column.
Are NULL values included in the joined string?
No. NULLs are skipped. If every value in a group is NULL, the joined cell for that group is NULL rather than an empty string.
Can I use a newline as the separator?
Yes. Type \n in the separator box and each value goes on its own line. \t inserts a tab. To join with a real backslash, type \\ for each backslash you want.
Related Tools
Split Column in Parquet Files Online
Split a column into multiple columns by delimiter in Parquet files directly in your browser. Turn "First Last" into separate first and last name columns — no upload required.
Find & Replace in Parquet Files Online
Find and replace text values in Parquet files directly in your browser. Supports plain text and regex patterns across any column — no upload required.
Sort Parquet Files Online
Sort Parquet files by any column, ascending or descending, directly in your browser.
Group Concatenate CSV Files Online
Concatenate text values within each group in CSV files directly in your browser. Group rows by a column and join the values of another column into a single delimited string — no upload required.
Group Concatenate Excel Files Online
Concatenate text values within each group in Excel files directly in your browser. Group rows by a column and join the values of another column into a single delimited string — no upload required.
Group Concatenate JSON Files Online
Concatenate text values within each group in JSON files directly in your browser. Group rows by a column and join the values of another column into a single delimited string — no upload required.
Parquet Viewer Online
View and inspect Parquet files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Convert Parquet to CSV Online
Convert Parquet files to CSV format directly in your browser. No upload required — your data never leaves your device.