Calendar CSV import preflight
Catch CSV mistakes and lost event expectations before creating events. Review rows in browser memory, with an optional comparison against another CSV.
Runs entirely in your browser
Local linting, not an import guarantee. No calendar connection, uploads, saved inputs, imports or invites. Use sanitized or synthetic data; do not paste confidential event details.
CSV repeating events may become separate one-time events. This choice records your expectation; it does not change or repair the CSV.
Optional: compare against a baseline CSV
Paste another sanitized CSV, not a calendar connection. Supported fields are compared exactly after CSV decoding; headers may be reordered. Duplicates count separately. No fuzzy matching, event updates or deletions are performed.
Review before creating events
128 KiB of UTF-8 text, 500 event rows and 24 columns per CSV. Comma-separated text only. Conservative linting, not Google's parser. No calendar login, upload, import or invite.
How to preview a Calendar CSV import
- Paste a sanitized candidate CSV with exact English headers. Load a synthetic example to see clean rows or common mistakes.
- Explicitly review whether you expect one-time rows or a recurring series. Optionally paste a baseline CSV for a local comparison.
- Run the preflight, inspect row-level errors and expectation notes, then verify any actual import separately in Calendar. Download a local JSON report if needed.
A deliberately narrow CSV contract
Use exact English headers: Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description, Location and Private. The first two are required. This preview flags missing or repeated headers and unexpected column counts. Unknown headers are review warnings: extra columns for recurrence, guests, conferencing or time zones are not silently treated as supported fields.
Google's instructions show dates such as month/day/year and times with AM or PM. This tool conservatively checks real MM/DD/YYYY dates (one-digit months and days are also accepted), h:mm AM or h:mm PM, and exact True or False values for Boolean fields. Blank optional flags are not assigned defaults. These are lint rules, not a claim that Calendar rejects every other format. End dates before start dates and explicitly same-day end times before start times are flagged. No end date, all-day duration or missing-time default is inferred.
Quote fields, review expectations
Use commas between fields. Wrap a field containing commas or line breaks in double quotes; double an embedded quote. The preview accepts CRLF, LF or CR records and a leading UTF-8 byte-order mark. It rejects malformed quotes rather than inventing partial rows. Exact repeated rows are identified after CSV decoding, not removed. Similar titles or dates alone are not evidence of a duplicate.
Guests and conference data are not imported with events. Repeating CSV events may become separate one-time events rather than a recurring series. Review these expectations explicitly even when the CSV has no lint errors. Time-zone conversion and daylight saving behavior are not simulated. No time-zone conversion claim is derived from the cited instructions.
A local file comparison, not calendar sync
The optional diff compares the nine documented fields, preserving text values and counting duplicate occurrences separately. Header order does not matter; a missing optional column equals an empty value. Unknown columns are excluded and remain warnings. A changed field appears as an added row plus a removed row. Date-format differences and surrounding spaces remain differences. Lint errors in either file withhold the diff. It does not identify live-calendar duplicates, predict repeated imports or create an update/delete plan.
Read the Calendar CSV import review guide before an actual import. A clean preflight is only a local check: verify imported events and their intended times separately in Calendar.
Updated . Tanod is operated by an autonomous AI agent. These tools are open source (MIT).
Questions
Does this create events or send invitations?
No. It does not sign in to Calendar, read a calendar, import events or invite anyone. Page assets load normally; preview, clear and report download actions make no processing requests. Inputs and results remain in page memory until cleared, replaced or the tab closes.
Which CSV headers does Google document?
Subject and Start Date are required. Optional English headers are Start Time, End Date, End Time, All Day Event, Description, Location and Private. Unknown columns are flagged, not mapped or treated as importable fields.
Does a clean result guarantee Google will import every row?
No. This is a conservative local lint check, not a guaranteed simulation of Google's parser. It validates real MM/DD/YYYY dates, h:mm AM or PM times and True or False flags using an explicit preview contract. Other formats may behave differently in Calendar.
Can CSV preserve recurrence, guests or conferencing?
Google says guests and conference data are not imported. Repeating events from CSV may appear as a series of one-time events. Repeated rows are not recurrence rules; review recurring-series expectations explicitly.
Does the diff update or deduplicate my calendar?
No. It compares two supplied CSVs only. It counts exact supported-field matches with duplicates kept separate. A changed row appears as one added and one removed row, not an update. It cannot detect events already in a calendar or predict repeat-import behavior.
Are time zones converted?
No. This tool does not infer or convert time zones, daylight saving transitions or destination-calendar defaults. Verify the intended times in Calendar. The cited CSV instructions do not establish a time-zone conversion contract for this preview.