Calculate Date Difference in CSV Files Online
Calculate the difference between two date or timestamp columns in CSV files directly in your browser. Output in days, months, years, hours, minutes, or seconds — no upload required.
How to calculate Date Difference in CSV files
- Drop your file onto the upload area. It is loaded into the in-browser engine and the first 200 rows are shown.
- Choose the start date column and the end date column. The tool preselects the first two date or timestamp columns it finds.
- Pick a unit: days, months, years, hours, minutes or seconds.
- Name the output column (the default is date_diff) and click Calculate Difference. The result is end minus start, added as the last column.
- Download the file in the same format you uploaded.
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 small hotel exports its bookings and wants the number of nights for each stay. One guest is still checked in, so the check-out date is blank.
Input (CSV)
booking_id,room_type,check_in,check_out
B-2201,double,2026-07-03,2026-07-06
B-2202,twin,2026-07-28,2026-08-02
B-2203,single,2026-08-14,2026-08-15
B-2204,double,2026-08-20,
B-2205,suite,2026-12-30,2027-01-04Settings
- Start date column: check_in
- End date column: check_out
- Unit: days
- Output column name: nights
Result
| booking_id | room_type | check_in | check_out | nights |
|---|---|---|---|---|
| B-2201 | double | 2026-07-03 | 2026-07-06 | 3 |
| B-2202 | twin | 2026-07-28 | 2026-08-02 | 5 |
| B-2203 | single | 2026-08-14 | 2026-08-15 | 1 |
| B-2204 | double | 2026-08-20 | NULL | NULL |
| B-2205 | suite | 2026-12-30 | 2027-01-04 | 5 |
Each value is check_out minus check_in in whole days. Stays that cross a month or year end are counted correctly, as B-2202 and B-2205 show. The open booking has no check-out date, so its result is NULL. Had the unit been months, B-2202 would give 1 and B-2201 would give 0, because months are counted by calendar boundaries crossed.
Working with CSV files
CSV dates are text until the file loads. ISO dates such as 2026-07-03 and many common layouts such as 07/03/2026 are detected as dates while the file is read. Detection works per column. If one row holds "TBC" or "n/a", the whole column stays text. The tool then converts that text to a timestamp while calculating, and the conversion only accepts ISO style values. A text column of 03/07/2026 values, or any column with a stray word, stops the run with a conversion error.
Blank cells load as NULL and give a blank result, which is usually what you want for open cases such as a ticket that is not closed yet. Whether 03/07/2026 means 3 July or 7 March is decided once for the whole column when the file loads. Check a row where the day is above 12 in the preview before you trust the result. If it is wrong, run Parse Dates with an explicit format first.
Frequently Asked Questions
Why does my CSV date difference fail with a conversion error?
The column was loaded as text, usually because one row holds something that is not a date, or the dates are in a non-ISO layout. Use Parse Dates to turn the column into real dates, or filter out the bad rows, then calculate again.
Can I get the number of days between a CSV date and today?
Not with this tool. It compares two columns in the file. Add a column holding today's date first, for example with the SQL Query tool using current_date, then run Date Difference.
How are months and years counted?
By calendar boundaries crossed, not by complete periods. 31 January to 1 February is 1 month, and 31 December to 1 January is 1 year. The same rule applies to hours and days: 23:00 to 01:00 the next day is 1 day. For exact elapsed time, use hours or seconds and divide.
What if the end date is earlier than the start date?
The result is negative. The tool always computes end minus start, so 3 July to 1 July gives -2 days. Swap the two columns if you want positive numbers.
Can I calculate age in years from a birth date?
Only roughly. You need a second date column to compare against, and years are counted by year boundaries, so someone born in December shows as a year older from 1 January. For exact ages, compare in days and divide by 365.25, or use the SQL Query tool.
Related Tools
Bin Column in CSV Files Online
Bucket a numeric column in CSV files into labelled ranges — equal-width bins or custom edges. Runs entirely in your browser.
Aggregate CSV Files Online
Group and aggregate CSV files by any column directly in your browser. Calculate sum, average, min, max, and count for any numeric column — no upload required.
Filter CSV Files Online
Filter rows in CSV files by column value, directly in your browser. Your data stays on your device.
Calculate Date Difference in Excel Files Online
Calculate the difference between two date or timestamp columns in Excel files directly in your browser. Output in days, months, years, hours, minutes, or seconds — no upload required.
Calculate Date Difference in Parquet Files Online
Calculate the difference between two date or timestamp columns in Parquet files directly in your browser. Output in days, months, years, hours, minutes, or seconds — no upload required.
Calculate Date Difference in JSON Files Online
Calculate the difference between two date or timestamp columns in JSON files directly in your browser. Output in days, months, years, hours, minutes, or seconds — no upload required.
CSV Viewer Online
View and inspect CSV files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Convert CSV to Parquet Online
Convert CSV files to Parquet format directly in your browser. No upload required — your data never leaves your device.