How to use the bulk date shift for a csv column
- Paste a column of dates, one per line, and choose how they are written.
- Enter the amount to shift by, with a minus sign to go back, and choose the unit.
- Choose what to do when the result lands on a weekend, and how to write the result.
- Copy the shifted dates or download them as a text file.
Formula
Days and weeks are added exactly
Months and years keep the day of the month, or use the last day of a shorter month
Business days move one weekday at a time and skip Saturdays and Sundays
The weekend rule can move a result that lands on a Saturday or Sunday to the next Monday or the previous Friday
Business days ignore the weekend rule, because they never land on a weekend. Blank lines stay blank.
Five lines and a one month shift
The lines 2026-01-31, 2026-02-27, 2026-10-16, 2028-02-29 and "not a date" become 2026-02-28, 2026-03-27, 2026-11-16, 2028-03-29 and Invalid. January 31 plus a month cannot be February 31, so it becomes the last day of February. The last line is listed below the result as one that could not be shifted.
Shifting 2026-10-16, a Friday, by 1 business day gives Monday, October 19, 2026. One year before 10/16/2026 in the month/day/year format is 16/10/2025 when written day first. Moving 2026-10-16 by one day with the next Monday rule gives October 19, because October 17 is a Saturday.
Shifting a whole column at once
Changing every date in a spreadsheet by the same amount is a common job: moving a project plan, setting invoice due dates or shifting dates for a different year. A column of dates pasted here is shifted in one go, and every line keeps its position, so you can paste the result back beside the original.
Months are the unit most likely to surprise. Adding a month to the 31st does not give the 31st of the next month when that month is shorter, so the tool uses the last day. Because of that rule, adding a month and then taking one away does not always return the starting date.
Formats and mistakes
Dates must be real dates in the format you choose. 02/30/2026 is rejected, and so is a date with a two-digit year, because it could mean more than one century. Pick month first or day first to match your data. For one date at a time use the Date Calculator, for working days between dates the Business Days Calculator, and to convert a column into JSON the CSV JSON Converter. The Bulk Timezone Timestamp Converter handles times with a time zone.
Assumptions and limits
- Every line holds one date and nothing else.
- Years from 1000 to 9999 are accepted, and a result outside that range is shown as Invalid.
- The dates shown are examples. Use your own column.
- Public holidays are not known, so business days skip only weekends.
Frequently asked questions
What happens to a blank line?
It stays blank, so the output has the same number of lines as the input and lines up with your column.
Why is a line marked Invalid?
It is not a real date in the format you chose, or the result falls outside the supported years. The table lists the line number and the text.
How are business days counted from a weekend?
The first step moves to the next weekday, so Saturday plus 1 business day is Monday. A shift of 0 leaves the date alone.
Can I shift by a negative amount?
Yes. Put a minus sign before the number to move the dates back.