Google Sheets Timesheet Template: Build One in 10 Minutes

MR
By Marcus Reyes, Payroll & Timekeeping Specialist · June 12, 2026
Google Sheets Timesheet Template: Build One in 10 Minutes, Google Sheets Timesheet Template: Build One in 10 Minutes

You can build a Google Sheets timesheet template in about ten minutes with six columns and three formulas: =(C2-B2)*24-D2/60 for daily hours, then a MIN/MAX pair that splits the weekly total into regular and overtime. This guide walks through the exact setup, cell by cell, plus a Google Forms variant and the honest limits of the approach.

Google's built-in template gallery doesn't actually include a timesheet, so people search for timesheet Google Sheets files and end up copying some stranger's sheet with mystery formulas buried in hidden columns. Skip that. Building your own free Google Sheets timesheet template takes barely longer and you'll understand every cell, which matters the first time a total looks wrong on payday. Everything below works identically on the free personal Google account you already have; nothing requires Workspace, add-ons, or Apps Script. The whole build is columns, three formulas, a protection setting, and a sharing decision, in that order.

Set up the columns

Open a new sheet and label row 1 left to right: Date (A), Time In (B), Time Out (C), Break Minutes (D), Daily Hours (E), Notes (F). Put the employee's name and the week's date range in a header above that. You'll eventually have dozens of these tabs, and each one should identify itself when printed or exported to PDF. That timesheet layout is the entire design. Everything after it is arithmetic, and any template for timesheet tracking that adds more columns is usually adding places to make mistakes.

Fill column A with the seven dates of one workweek, one row per day. Exactly one week per tab matters more than it looks. Federal overtime under 29 USC 207 is owed at time and a half for hours over 40 in a workweek, and 29 CFR 778.104 adds that each workweek "stands alone," with no averaging across two or more weeks. Weekly subtotals aren't decoration. They're where the overtime math legally happens.

Before anyone types a time, format columns B and C as times: select the columns, then Format, Number, Time. This forces entries like 9:00 AM and 5:30 PM to be stored as real time values instead of text, which is what makes every formula below work. Here's what a finished week looks like:

DateTime InTime OutBreak (min)Daily HoursNotes
Mon 6/158:00 AM4:45 PM308.25
Tue 6/168:00 AM4:15 PM307.75
Wed 6/177:30 AM4:15 PM308.25Early delivery
Thu 6/188:00 AM6:00 PM309.50Covered a shift
Fri 6/199:00 AM4:15 PM306.75
Weekly total40.5040 regular, 0.5 OT

One legal note on the break column: only bona fide meal periods of 30 minutes or more, where the employee is fully relieved of duty, can be unpaid under 29 CFR 785.19. Short rest breaks of 5 to 20 minutes are paid working time under 29 CFR 785.18 and never belong in that column.

What formula calculates hours worked in Google Sheets?

There's no built-in timesheet formula Google Sheets ships with, so you write it once and copy it forever. In E2, enter =(C2-B2)*24-D2/60. Sheets stores times as fractions of a day, so subtracting Time In from Time Out gives a fraction; multiplying by 24 converts it to hours. Dividing break minutes by 60 converts the lunch to hours and subtracts it. In at 8:00 AM, out at 4:45 PM, 30-minute lunch: (16.75 - 8.00) - 0.5 = 8.25 hours. Drag the formula down through all seven day rows and Sheets will calculate hours worked for the whole week without you touching a calculator.

How do you convert minutes to decimal for payroll?

Divide the minutes by 60. Fifteen minutes is 0.25, thirty is 0.50, forty-five is 0.75. The formula above already does that conversion, which is the main argument for letting the sheet handle arithmetic instead of typing daily totals by hand.

Format column E as a plain number with two decimals (Format, Number, Number), not as a time. You want 8.25, not 8:15, because payroll runs on decimal hours. The classic error here is treating 8:30 on a clock as 8.30 in decimals when eight and a half hours is actually 8.50, a 12-minute difference that repeats every day it happens. We break that trap down fully in our timesheet template guide.

Overnight shifts need one change. If someone clocks in at 10:00 PM and out at 6:00 AM, the basic formula goes negative because Time Out looks "earlier" than Time In. Swap in =MOD(C2-B2,1)*24-D2/60, which wraps the subtraction around midnight and correctly returns 8 hours. If your team ever crosses midnight, just use the MOD version everywhere; it behaves identically for normal daytime shifts.

Weekly totals and the overtime split

Below the day rows, add three labeled cells. Total Hours: =SUM(E2:E8). Regular Hours: =MIN(SUM(E2:E8),40). Overtime Hours: =MAX(SUM(E2:E8)-40,0). The MIN/MAX pair caps regular time at 40 and pushes everything above it into overtime, which mirrors the federal workweek calculation exactly. Cross-check any week that has overtime in it with our free overtime calculator before it goes to payroll.

If you're in a state with daily overtime, weekly-only math undercounts. California is the big one: state rules require time and a half after 8 hours in a workday and double time after 12, per the California Labor Commissioner. Covering that in Sheets means a per-day overtime column with its own MAX formulas, and the spreadsheet starts earning a salary of its own. Check your state before assuming the simple version covers you.

Daily hours from the sample week 8.25 7.75 8.25 9.50 6.75 Mon Tue Wed Thu Fri
Source: the sample timesheet above. Thursday's 9.5-hour day is what pushed this week half an hour into overtime.

Add one guardrail while you're here: conditional formatting. Select column E, then Format, Conditional formatting, "Greater than," 10, red fill. Now any day over 10 hours jumps out during review. That catches genuine long days and, just as often, a 5:30 PM out-time typed as 5:30 AM.

Turn one tab into a reusable timesheet template

Once one week works, make it the master. Right-click the tab, Duplicate, and rename the copy with the week's dates ("Jun 22-28"). Never let anyone retype formulas into a fresh tab; every formula error I've seen in a small business timesheet traces back to a rebuilt tab, not the original. Keep a tab named TEMPLATE that stays permanently empty of data. A Google Sheets timesheet template for small business use should be one file everyone copies, not ten files everyone builds. The same discipline applies to the scheduling template Google Docs is probably holding next door: one master, dated copies, nobody rebuilding from memory.

How do I fill out a timesheet each week?

Type the punch on the day it happens, one row at a time, and let column E do the totals. Submit the timesheet weekly even when payroll runs every two weeks, because weekly is the unit overtime is measured in and corrections stay small. Whoever has to calculate timesheet totals for the crew shouldn't be reconstructing 14 days at once. A standing timesheet reminder on Thursday afternoon collects most of the stragglers, and we cover the wording that works in our guide to timesheet reminders.

Signatures still want paper. File, then Print, then set the print range to the week and scale to Fit to width, and a printable timesheet comes out on one page instead of three. Check the timesheet print preview before the first run, because the default landscape split tends to cut the Notes column onto its own sheet.

Sharing is where control matters. The setups that work, in order of team size:

SetupHow it worksBest for
One spreadsheet per employeeShared to their Google account as Editor; new tab each week1 to 5 employees
One master spreadsheet, tab per personProtected ranges lock each employee out of others' tabs5 to 10 employees
Google Form feeding one sheetEmployees submit times through a form; responses land timestampedDeskless or field crews

Whichever you choose, use Data, Protect sheets and ranges to lock the formula column on every tab, so nobody overwrites =(C2-B2)*24 with a hand-typed number. A Google Sheets timesheet template for employees to fill in themselves only survives if that column is locked, because protecting the formula cells is the difference between a timesheet and a suggestion box. And share to specific people only, never "anyone with the link." Timesheets contain names and work patterns, and a public link to that is a problem waiting for a search engine.

Close each pay period deliberately. Once a week is approved and paid, export the tab to PDF (File, Download, PDF) and drop it in a dated Drive folder. Sheets keeps version history, but a frozen PDF per period is a cleaner record if hours are ever disputed, and it means a stray edit eight months later can't silently rewrite what someone was paid for. Two minutes per period buys you an archive that answers questions in seconds.

Common formula errors and how to fix them

Four failures account for nearly every broken timesheet in Sheets. All are quick fixes once you know what you're looking at:

  • Times stored as text. If E2 shows an error or a wild number, someone typed "9am" or "9.00" into a column that wasn't time-formatted, and Sheets stored it as a string. Fix: reformat B and C as Time, then re-enter the value as 9:00 AM. A quick tell is alignment, since real times align right and text aligns left.
  • Daily Hours shows a time like 8:15 instead of 8.25. Column E inherited time formatting. Select it, Format, Number, Number. The underlying value is fine; only the display is wrong.
  • Negative or huge numbers on night shifts. That's the midnight wraparound. Replace the plain subtraction with the MOD version and it self-corrects.
  • A day that won't add into the total. Almost always an overwritten formula: someone typed 8 into E5 on top of =(C5-B5)*24-D5/60. Protected ranges prevent it; Edit history (File, Version history) tells you who did it.

A word on rounding, since many templates copy it in: federal rules at 29 CFR 785.48 accept rounding punch times to the nearest 5 minutes, tenth, or quarter hour, but only where it doesn't fail, over time, to pay for all hours actually worked. A spreadsheet gains nothing from rounding anyway. Record actual minutes and let the formula do the conversion.

Scaling past a few people? Rather than eyeballing ten spreadsheets, pull every employee's weekly total onto one summary sheet with IMPORTRANGE, one row per person, and a QUERY or SUMIFS across it for total labor hours. That summary is also where overtime problems become visible before payday instead of on it. When even that gets old, that's your signal the team has outgrown the spreadsheet, price of zero or not.

The Google Forms timesheet template variant

For crews that won't open a spreadsheet, a Google Forms timesheet template flips the workflow: build a short form with Date, Time In, Time Out, and Break fields, and every submission lands as a row in a linked response sheet. You then add the same =(TimeOut-TimeIn)*24 math in adjacent columns of the response sheet, plus a pivot or SUMIFS per employee per week for totals.

The form buys you two real advantages. Phones handle forms better than spreadsheet grids, so field crews actually submit. And each response carries an automatic submission timestamp, which gives you a weak audit trail: a Friday-night burst of five daily entries tells you the week was reconstructed from memory, not recorded as it happened.

Setup takes fifteen minutes. Create the form with a Short answer field for name (or better, collect email automatically so entries are attributable), Date and Time question types for the work date and both punch times, and a number field for break minutes. In the linked response sheet, add a Daily Hours column with the same =(TimeOut-TimeIn)*24-Break/60 math referencing the response columns, wrapped in ARRAYFORMULA so new submissions calculate automatically. One form serves the whole crew, which beats maintaining ten separate spreadsheets by a mile.

It's still self-reporting, though. The timestamp records when someone filled in the form, not when they actually started work, and nothing stops 8:00 AM from being typed at 8:19. There's no photo, no location, nothing tying the entry to a person actually standing at the job. Treat the Forms variant as the most convenient version of the honor system rather than a fix for it.

Sheets, Excel, or dedicated timesheet software?

The formulas above travel. An excel timesheet template runs the identical =(C2-B2)*24-D2/60 math, and a timesheet xls template someone emails you will open in Sheets without edits, so the real choice is where the file lives rather than what it can calculate. Sheets wins on sharing and version history. Excel wins if the crew is offline, on Windows, and already living in Office.

If payroll runs in QuickBooks, keeping the timesheet in QuickBooks removes the copy step into payroll, though the weekly timesheet feature sits on the paid tiers. All of these count as an electronic timesheet under the FLSA (agencies that run their own often call it an e-timesheet), and none of them is a time clock. Dedicated timesheet software is the fourth option and the only one that records time instead of collecting it later.

OptionReal timestampsTotalsCost
Google spreadsheet timesheet templateNo, self-reportedFormulas you wroteFree
Excel or xls fileNo, self-reportedFormulas you wroteOffice license
Timesheet in QuickBooksPartialBuilt inPaid tier
Free time clock appYes, punch levelAutomaticFree (Kloqk)

What is the easiest way to add up time cards?

Don't add them up by hand at all. For a single week, a free time card calculator does it in the browser: punch times in, decimal hours and the 40-hour split out. Our time card calculator works as a clock in and clock out time calculator for shifts that cross midnight, which is the case hand-totaling gets wrong most often. For a whole crew, running a work hours calculator per person still beats a pen and a legal pad, but it's also the moment to ask why anyone is calculating anything.

Where a Google Sheets timesheet falls short

Every timesheet in Google Sheets records what people say they worked, after the fact. Nobody fills it in at 8:00 AM Monday; they reconstruct the week Friday afternoon, and reconstructed time is rounded, generous, and occasionally just wrong. The sheet can't tell you who's clocked in right now, can't stop a buddy from entering a coworker's times, and can't produce a punch-level timestamp when a wage dispute needs one.

The hidden cost lands on you, not them: chasing unsubmitted tabs, spot-checking overwritten formulas, copying totals into payroll by hand, and keeping a tab-per-week-per-employee archive organized for the retention the law expects. Payroll records must be kept at least 3 years under 29 CFR 516.5, and the time records behind them at least 2 years under 29 CFR 516.6. A three-year-deep spreadsheet archive for ten employees is roughly 1,560 tabs. At two or three employees this is all tolerable. At ten it's a part-time job.

A free time clock fixes the recording problem at the source. Employees punch in and out in real time from a browser or a shared kiosk, timestamps are real, and weekly totals with the overtime split compute themselves. Kloqk's time clock is free, so the spreadsheet's one unbeatable advantage, price, is a tie. Keep Sheets for what it's great at. The best Google Sheets timesheet template is still the one you built yourself, because you can open any cell and see why the number says what it says. If you're staying manual for now, at least run each week through our free timesheet calculator so the math, if nothing else, is guaranteed.

Frequently Asked Questions

Does Google Sheets have a timesheet template?

The built-in template gallery doesn't include one, but you can build a working timesheet in about ten minutes: columns for Date, Time In, Time Out, and Break Minutes, the formula =(C2-B2)*24-D2/60 for daily hours, and a MIN/MAX pair that splits weekly totals into regular and overtime.

What is the formula to calculate hours worked in Google Sheets?

Use =(TimeOut-TimeIn)*24-BreakMinutes/60, for example =(C2-B2)*24-D2/60. Sheets stores times as fractions of a day, so multiplying by 24 converts the difference to decimal hours. For shifts that cross midnight, use =MOD(C2-B2,1)*24-D2/60.

How do I calculate overtime in a Google Sheets timesheet?

Total the week with =SUM(), then split it: regular hours =MIN(total,40) and overtime =MAX(total-40,0). Federal law pays hours over 40 in a workweek at 1.5x, and workweeks can't be averaged together. States like California add daily overtime rules that need extra columns.

Can I use Google Forms as a timesheet?

Yes. Build a form with Date, Time In, Time Out, and Break fields; submissions land in a linked sheet where you add the hour formulas. Forms are easier on phones and each entry gets a submission timestamp, but it's still self-reported time, not a real clock-in record.

Should I use a spreadsheet or a time clock app for employee time tracking?

A spreadsheet works for a very small team that fills it in honestly and on time, but it relies on memory, has no real timestamps, and breaks when formulas get overwritten. A time clock records punches as they happen and totals everything automatically, and free options exist, so cost isn't the deciding factor.

Sources

Every figure on this page traces to one of these. Primary law and government sources are listed first.

  1. 1. Cornell Legal Information Instituteprimary
  2. 2. California Department of Industrial Relationsprimary
MR

Written by

Marcus Reyes

Payroll & Timekeeping Specialist

Marcus covers payroll accuracy, timesheets, and time tracking, the unglamorous mechanics that keep paychecks correct and audits painless.

Keep Reading

Track Hours the Easy Way

Kloqk is a free time clock that handles punches, breaks, overtime, and payroll-ready reports.

Start free

Free HR & payroll tips for small business

One short, useful email, wage-law changes, deadlines, and tools. No spam, unsubscribe anytime.