Google Calendar timesheet
Export your Google Calendar to Excel — with the hours already summed.
Drop your Google Calendar .ics and get a CSV — hours already summed by category, ready for Excel.
.ics files only
Free, no sign-in, nothing uploaded. Your calendar file is read in your browser and never sent to a server.
Client work
18.5h
Internal
9h
Admin
5h
Watch Calendar Timesheet turn a calendar export into billable hours, in 30 seconds.
A real calendar export, turned into a timesheet in the actual product — no account, and nothing to upload to watch it happen.
Thirty seconds, and it starts silent — turn the sound on in the player once it loads.
Nothing has been sent to YouTube yet: the image and this text came from us, and pressing play is what connects your browser to YouTube.
- 0:00Your calendar, already a timesheet.
- 0:02Total hours. Billable hours.
- 0:05One event counted twice.
- 0:08Declined and all-day, excluded.
- 0:11Your categories, already totalled.
- 0:14Every event, and its category.
- 0:18Rules decide what is billable.
- 0:21Then the CSV is yours.
youtu.be/-iu7vGQOLjs · published September 7, 2026
What a week looks like once it is a timesheet
Three ordinary weeks, and what Calendar Timesheet makes of each.
A freelancer's billing week
You drop one week of Google Calendar events: client calls, focus blocks, a design review.
Nine rows carrying date, start and end time, duration, title and calendar — and a total for the week.
A block you had marked free still counted. Free rarely means idle; it usually means focus time.
One month, three clients
You drop a month whose event titles start with a client name.
Hours grouped by category, with a billable total per client, ready for three separate invoices.
Admin time landed in Uncategorised rather than being split silently across the three.
A travel day and a clock change
You drop a week holding an all-day travel entry and the night the clocks moved.
The all-day entry stays out of the hourly total unless you opt in and set hours per day; every other event keeps its own time zone.
The short night is counted as the hours it actually had, so a clock change neither adds nor removes one.
What a Google Calendar timesheet gives you
The calendar you drop
calendar-export.ics
Aug 18 – 22
What gets counted
Client work
18.5h
Internal
9h
Admin
5h
What you export
calendar-export.csv
Date,Category,Title,Hours,Billable
2026-08-18,Client,Client workshop,2.5,Yes
Start from the week you already scheduled
Your meetings, calls and focus blocks are already a record of the working week. Calendar Timesheet reads them instead of asking you to remember them.
Edit every entry before it counts
Group events into categories and mark time billable or non-billable. Nothing is exported until you have reviewed it.
Export a clean CSV
Download a per-event breakdown and category totals for the date range you choose, ready for invoicing or reporting.
How Calendar Timesheet turns a calendar export into a timesheet
Export your calendar
In Google Calendar, Settings → Import & export → Export downloads a .zip; unzip it to get the .ics file. Outlook and Apple Calendar export an .ics directly.
Drop it in and review
Calendar Timesheet calculates each event's duration in your browser, groups the hours into categories you define, warns you about overlapping events, and keeps all-day events out of hourly totals by default.
Export the range you need
Pick a date range, check the totals per category, and download a CSV for invoicing, reporting or payroll.
Who tracks hours from a calendar
Anyone who has to report where their hours went, and whose calendar already knows the answer.
Freelancers
Turn scheduled client work into an invoice-ready summary without running a timer all day.
Consultants and agencies
Split one week across several clients and projects, then export a single CSV per billing period.
Billed-by-the-hour professionals
Accountants, lawyers and advisors can reconstruct billable hours from the meetings and calls already on the calendar.
Small teams and internal reporting
Answer “where did the week go” with the calendar you already keep, instead of introducing a new tracking habit.
Your hours, without opening a new tab
Calendar Timesheet also runs as a Chrome side panel: drop the same exported calendar file in, and it counts the hours for the week or month you pick, right next to whatever page you already have open.
A panel, not a page
Pin it once and it stays docked beside the tab you're on — there is nothing to navigate to.
Reads only what you drop
It asks for two permissions, storage and side panel, and connects to nothing — no Google, Outlook or Apple account, no server. The file is parsed on your device, exactly like the page.
It shows one running total rather than a category breakdown — the panel has no rule editor yet — and only four fixed ranges: this week, last week, this month, last month. For categories, billable totals and a custom range, use Calendar Timesheet on the web.
For Chrome and other Chromium-based browsers.
What this tool cannot do
The honest list, so you know what you are getting before you try it.
You export the file yourself
There is no live connection, so a new timesheet means a fresh export. That is the trade for needing no account and granting no access — and a timesheet is usually a monthly act anyway.
No live timer, no monitoring
Calendar Timesheet does not run in the background and does not watch your screen. It reads events that already exist.
All-day events stay out of hourly totals
They are excluded by default, because an all-day block is rarely eight billable hours.
Overlaps are flagged, not resolved
Double-booked time is shown with a warning. Calendar Timesheet never silently deletes one side of an overlap.
CSV export for now
XLSX and PDF export, rounding rules and hourly rates are planned, not shipped.
Privacy
Nothing to connect. Nothing to upload.
Calendar Timesheet has no account, no sign-in and no connection to your calendar provider. The file you drop is parsed by code running in your own browser, and the page itself is served with a policy that lets it contact no server but our own and Cloudflare's two analytics hostnames. Press play on the demo video and the policy also admits the host YouTube's player is loaded from; from then on the player is YouTube's own document, which our policy does not govern and we neither control nor count. Nothing of your calendar file is in any of it.
Your calendar file, read in your browser
How it worksA Calendar Timesheet account or password
Not neededA connection to Google, Outlook or Apple
Not neededYour calendar file sent to our servers
Never
There is nothing to revoke and no access to withdraw, because none was ever granted.
Read our privacy approachQuestions about turning Google Calendar into a timesheet
What people ask before they drop a calendar file.
- How do I track hours in Google Calendar?
- Google Calendar has no built-in hour tracking, but the events you already keep are the record. Export the calendar as an .ics file and drop it on this page: every event becomes a timesheet row with its duration worked out for you. Filter to a date range, mark what is billable, and export a CSV. There is no timer to start and stop, and nothing to fill in after the fact.
- What is a Google Calendar timesheet?
- It is a record of working hours built from the events already in your calendar instead of from a timer or a blank spreadsheet. You export the calendar as a file, Calendar Timesheet calculates the duration of each event for the range you choose, groups them into categories you define, and gives you totals you can export.
- How long does it take to produce a timesheet?
- Usually a couple of minutes. Export your calendar, drop the file on the page, review the entries, and export the CSV. There is nothing to install, no account to create and no timer to remember to start.
- Does it work with Outlook or Apple Calendar?
- Yes. Calendar Timesheet reads the .ics format, which Google Calendar, Outlook, Apple Calendar and most other calendar software export. A Google export contains all your calendars in one file; you can filter what counts as working time inside Calendar Timesheet.
- Can I change an entry without changing my calendar?
- Yes, and it is impossible for Calendar Timesheet to do otherwise. It reads a copy of your calendar that you exported — it has no connection to the original, so moving an event to another category or marking it non-billable can only ever affect the timesheet in front of you.
- How are all-day events handled?
- All-day events are excluded from hourly totals by default, because an all-day block is rarely eight hours of billable work. You can choose to include them.
- What happens when two events overlap?
- Calendar Timesheet shows the raw total and warns you about the overlap. It never silently deduplicates double-booked time, because only you know which of the two actually happened.
- Does it handle time zones and daylight saving?
- Yes. Each event keeps its own time zone, and durations are calculated across daylight-saving changes, midnight and month boundaries, so travel or a clock change does not distort the week.
- What does the export contain?
- A CSV with one row per event, carrying the date, start and end time, duration in hours and minutes, event title, calendar, category, billable flag, and the flags for all-day, overlapping, tentative and clipped-to-range entries, plus the ISO timestamps and time zone. Category totals for the range come with it.
- What does Calendar Timesheet do with my calendar data?
- Your calendar file never leaves your browser. The file you drop is parsed on your own machine; it is not uploaded, not stored, and not visible to us at any point. Your categorisation rules, your preferences and any change you make to a single event stay in your browser too. There is no account and no database holding your calendar. This page counts an anonymous page view and sends one anonymous event when it finishes checking a file you drop on it; Calendar Timesheet itself sends one when a timesheet is built. None of them carries an identifier or any part of your file. Pressing play on the demo video hands your browser to YouTube's player, which then loads whatever it loads from Google's own hosts; between them those requests tell Google your IP address, your browser and which video you opened, and we neither control nor count them. No part of your file is in any of them.
Turn your calendar into aclean timesheet.
Drop the calendar file you already export. Nothing to install, no account, no upload.