Add a Column to a CSV
Add the column a downstream system insists on. Stamp every row with a source name or an import batch, number the rows so you can restore this exact order later, generate an ID per row, or build a value from the columns you already have. Choose where it goes — first, last, or right after a specific column.
How to add a column
- Paste the CSV or drop a file.
- Name the column and pick what fills it.
- Fill in value where the mode needs it: the constant itself, a template like
{city}-{plan}, or the name of the column to copy. - Choose the position — the dropdown lists (first), every existing column, and (last). Then copy or download.
The fill modes
- Constant — the same value in every row. For tagging a file's origin (
source=stripe), an environment, or an import date before you stack it with others in Merge files. - Row number — a sequence with your own start and step. Add this before sorting and you can always get back to the original order.
- Template —
{column}placeholders filled per row, e.g.{region}/{month}to build a grouping key. - Copy of another column — duplicate a column so you can transform one copy and keep the original intact.
- UUID — a version-4 identifier per row, for seeding a table that needs surrogate keys. New values are generated on each run, so download once and keep that file.
- Nothing — an empty column, for when a strict importer requires the field to exist.
If the name is already taken
Duplicate header names break loaders and silently collapse into one column in most parsers, so a clashing name gets a numeric suffix instead: status becomes status_2, and the status line tells you it happened. To replace an existing column rather than add one, rename it away first with Header row, or drop it with Keep / rename / reorder.
FAQ
Can I add a computed column, like price × quantity?
Not with a template — it substitutes values, it doesn't do arithmetic. Use SQL on a CSV: SELECT *, price * qty AS line_total FROM csv.
Can I add several columns at once?
One per pass — add one, then run again on the result. Each pass is independent, so you can mix modes.
Why do the UUIDs change every time I edit something?
Because they're generated fresh on every run. Download the file when you're happy with it; don't rely on regenerating the same IDs.
Is anything uploaded?
No. It runs in your browser.
Privacy
100% client-side. No upload. See the privacy policy.