Google Calendar CSV Generator | ZeroTools

Create a nine-column Google Calendar CSV file containing individual dated event rows for selected weekdays up to 366 days. Configure all-day or same-day event times, optionally exclude Japan public holidays (2020–2027), and manually import the downloaded file into Google Calendar on desktop.

Loading tool interface...

When to use this tool

Back to the tool ↑

Generates individual dated event rows excluding Japanese public holidays (2020–2027, up to 366 days) into a 9-header Google Calendar CSV format.

Try it first

Click the "Load Weekday CSV Example" button to generate 3 all-day weekday events (Sept 18, 24, and 25, 2026) excluding Japanese holidays.

Before you start

Includes Japanese holidays only, with no recurring rules or automatic calendar synchronization. You must manually import the downloaded CSV via desktop Google Calendar.

Local Browser Processing and Network Communication Notice

This tool's processing operates locally within your browser. Standard site assets, analytics, and advertisements may communicate separately. There are no guarantees.

ZeroTools: Browser Processing & Privacy

ZeroTools focuses on tools that process input on your device. Check each tool’s scope and limitations before use.

Processing and privacy policy
Chapter 1

Range and Weekday Selection with Pre-Export Validation

This tool evaluates each day from a start date to an end date and converts every date matching selected weekdays into an individual row formatted for a Google Calendar CSV file.

By default, Monday, Wednesday, and Friday are selected, with the start date initialized to the device's local calendar date and the end date set 30 days later.

If the current date falls outside the supported holiday dataset range, it is clamped to the nearest boundary date of that range.

Dates are validated as YYYY-MM-DD strings, utilizing UTC day numbering for single-day additions and day-of-week checks without incorporating time-of-day data.

This is not intended to display entries in Coordinated Universal Time, but to process calendar dates under a consistent standard so that timezone differences do not shift weekdays or calendar dates backward or forward.

A preview date shown as 2026-09-18 outputs as September 18 in the CSV without being converted to another calendar date.

If the subject line is empty, no target weekdays are selected, the end date is earlier than the start date, or dates fall outside the supported range, the tool displays the validation reason and halts CSV generation.

The selected duration cannot exceed 366 days, counting both the start and end dates inclusively. A leap year span of 366 days—such as January 1, 2024, through December 31, 2024—can be processed, but extending the span to 367 days by adding January 1, 2025, cannot be generated in a single run.

Weekday toggle buttons operate independently from Sunday through Saturday. This allows creating identical meetings recurring on Mondays, Wednesdays, and Fridays, selecting all five business weekdays, or scheduling events exclusively on weekends.

Generating events based on ordinal recurrences like the first Monday of every month or specifying different subject titles for individual dates is not supported.

Chapter 2

Event Details and Timed versus All-Day Schedules

Configurable event fields consist of Subject, Start Time, End Time, Location, and Description. The tool applies these identical values to every date matching your filter criteria.

For example, setting the Subject to "Regular Meeting", Location to "Conference Room A", and selecting Mondays and Wednesdays outputs separate event rows sharing that title and location for each matching day.

The interface does not support setting attendees, online meeting links, notifications, or calendar colors per date.

Regular timed events require both a start time and an end time. The end time must be later than the start time; for example, 10:00 AM to 11:00 AM is valid, but overnight spans crossing midnight—such as 11:00 PM to 1:00 AM the following morning—are not supported.

Entering an end time of 01:00 AM with a start time of 11:00 PM is treated as earlier than the start time and produces an error. Such schedules must be edited individually after importing or created through alternate methods.

Enabling "Register as all-day event" hides the time inputs and bypasses time-of-day validation. In the generated CSV, Start Time and End Time remain blank, while All Day Event is set to True.

When disabled, both time fields are output and All Day Event is set to False. In both configurations, Start Date and End Date within a single row share the same calendar date and do not form multi-day spans.

Chapter 3

Coverage and Boundaries of Japanese Holiday Exclusions

"Exclude Japanese public holidays" is enabled by default. Holiday evaluation incorporates published data from the Cabinet Office's "About Public Holidays" CSV spanning January 1, 2020, through December 31, 2027.

Equinox dates are not predicted using approximation formulas, relying instead on officially published dates and designations. Rescheduled dates for Marine Day, Sports Day, and Mountain Day during 2020 and 2021, as well as the September 22, 2026, and March 22, 2027 "Holiday" records, are included in this static dataset.

If a date matching the chosen weekday exists in the holiday map and holiday exclusion is enabled, no row is generated for that date.

If holiday exclusion is turned off, rows are generated based strictly on weekday criteria regardless of holiday status. However, input calendar dates must remain within 2020 to 2027 regardless of the holiday toggle position; disabling the switch to generate events for 2028 or later is not supported.

Vernal and Autumnal Equinox dates for 2028 onward are not finalized prior to official government publication, and upcoming statutory amendments or provisional holidays are not fetched automatically.

Site updates are required after new official data is published. Corporate holidays, school closures, local festivals, and international holidays are not included, and the interface provides no mechanism to exclude individual dates manually.

Users must divide their date range or adjust generated CSV files as needed.

Chapter 4

Preview Counts and Independent Row Generation

Modifying inputs or weekday selections recalculates the "Scheduled Events Preview", displaying dates and titles in ascending chronological order.

Total counts are shown in the preview header, and the list is contained within a scrollable container. If zero dates match your criteria, the CSV download button is hidden, prompting you to review your date range and weekday selections.

When validation errors exist, the tool displays specific error messages instead of the zero-count notice.

Each date in this preview represents an individual, independent row in the CSV file. If Monday occurs five times in the selected span, the tool outputs five separate rows with identical details rather than a single event with recurrence rules.

Google Calendar's official documentation notes that recurring events imported from CSV files may appear as independent single events.

This tool does not generate RRULE parameters or assign shared event IDs to batch-edit rows later.

The preview functions as a simplified list for checking dates and titles, omitting start times, locations, descriptions, and the full nine-column CSV structure from the preview table.

Before exporting, review the settings in the left-hand form panel. The 366-day limit applies to the total calendar span between start and end dates; the actual number of generated rows is typically smaller depending on weekday and holiday filters.

Chapter 5

Nine Google Calendar CSV Columns and Character Escaping

Headers follow the official English column names published in Google Calendar documentation, outputting nine columns in fixed sequence: Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description, Location, and Private.

Dates follow the official MM/DD/YYYY format, while times use 12-hour AM/PM formatting such as 10:00 AM or 1:05 PM. All-day events leave time columns blank.

The Private column cannot be modified in the interface and is universally set to False. This means the tool does not configure private visibility for imported events.

Verify the sharing settings of your target calendar and individual event visibility within Google Calendar as needed.

Each cell is enclosed in double quotes, and any internal double quotes inside the subject, location, or description are escaped by doubling them ("").

This preserves values containing commas, such as "Tokyo, Conference Room A", within a single cell. The file is constructed from JavaScript strings as a UTF-8 Blob using CRLF line breaks.

No Byte Order Mark (BOM) is attached to the beginning of the file, so the first header line begins directly with Subject.

While this format aligns with official column names and formatting samples, it does not guarantee compatibility across every Google account configuration or future platform change.

Clicking "Export CSV" downloads the file directly to your device and does not transmit data or register events directly into your Google account.

Chapter 6

Import Verification Guidelines and Unsupported Features

To import events, open Google Calendar on a desktop browser, navigate to Settings, select "Import & export", choose the downloaded CSV, select a destination calendar, and run the import.

Rather than importing large batches directly into your primary calendar, importing a short date range or using a dedicated test calendar first helps verify dates, times, all-day flags, Japanese characters, locations, and descriptions while keeping cleanup manageable.

Google Calendar's official help documentation states that guests and conference call data are not imported when using CSV files. Furthermore, importing a file is not a two-way synchronization mechanism.

Modifying the CSV later does not update previously imported events in your calendar, and re-importing the same file may create duplicate entries unless previously imported events are checked first.

This tool does not generate ICS, VEVENT, RRULE, timezone IDs, event IDs, attendee lists, or video conference links. Official import instructions for Microsoft Outlook.com and Outlook on the web specify ICS files; this tool does not generate ICS files and does not claim Outlook compatibility.

It also does not support loading existing CSV files, updating or deleting existing events, creating events via Google Calendar API, or maintaining ongoing calendar sync.

Editing the CSV in spreadsheet software may inadvertently alter date formats, time formatting, leading zeroes, or character encoding.

Check the English headers and date/time formatting after editing in external tools. The scope of this tool is strictly to expand recurring schedule templates into individual date rows; imported results and calendar sharing permissions must be verified within your destination calendar.

Frequently Asked Questions (FAQ)

A.
This tool targets official Google Calendar CSV columns. Official documentation for Outlook.com and Outlook on the web instructs importing ICS files; because this tool does not generate ICS files, Outlook compatibility is not assured.
A.
Each generation covers up to 366 days, inclusive of both start and end dates. Dates are restricted to 2020 through 2027, and holiday exclusions use the Cabinet Office CSV for that same timeframe. Out-of-range dates are not estimated.
A.
No. The tool outputs an independent row for each date matching your criteria. It does not export RRULE parameters or event IDs, and imported calendar entries do not stay synchronized with the CSV.
A.
No. Blank titles, unselected weekdays, inverted dates, end times at or before start times, and ranges over 366 days produce errors. For all-day events, time fields are left blank and All Day Event is set to True.