Free Timesheet Templates

Methodology: Free Timesheet Templates

What this tool generates

A customizable, printable / downloadable timesheet template. The user picks a starting preset (Simple, FLSA recordkeeping, California recordkeeping, or Custom), adjusts the pay period (weekly / bi-weekly / monthly) and the columns + header fields, then downloads as PDF or CSV. The result is a blank form ready to fill in — by hand on a printed sheet, or programmatically in a spreadsheet.

The live preview on the right side of the customization controls is what gets printed. WYSIWYG: every toggle visibly changes the preview before download.

Customization model

Pay period

  • Weekly — 7 rows on one page
  • Bi-weekly — 14 rows on one page, with a thin divider after row 7
  • Monthly — 31 rows (largest possible month); months shorter than 31 days simply leave the trailing rows blank

Column toggles

Always present:

  • Date — calendar date of the workday
  • Day — day of week, relative to the workweek-start declaration
  • Clock in — start time
  • Clock out — end time
  • Break (min) — unpaid break duration
  • Regular hours — hours worked at the regular rate

Optional (toggleable):

  • Overtime hours — separately recorded per §516.2(a)(9)
  • Double-time hours — California Labor Code §510 (over 12h/day or 7th consecutive day after 8h)
  • Sick hours — paid sick leave used
  • Vacation / PTO — PTO or vacation hours used
  • Job / Project — job-costing column
  • Notes — free-text column for the employee

Header-field toggles

Always present:

  • Employee name
  • Company / Employer
  • Pay period ending

Optional (toggleable):

  • Employee ID
  • Workweek starts (the day of week the 168-hour workweek begins; §516.2(a)(5))
  • Employee address (§516.2(a)(2))
  • Occupation (§516.2(a)(4))
  • Employee signature
  • Supervisor signature

How the column model maps to 29 CFR §516.2(a)

Every employer subject to FLSA must maintain a list of records for each non-exempt employee. The template's column-and-header model is grounded in the regulation:

§516.2(a) itemWhere it appears in this template
(1) Name in full + identifying symbol/numberEmployee name header field + Employee ID header field
(2) Home addressEmployee address header field (toggle on)
(3) Date of birth, if under 19Not modeled — only applies to minors; rare per-template
(4) Sex and occupationOccupation header field (toggle on)
(5) Time of day and day of week the workweek beginsWorkweek starts header field
(6) Regular hourly rate of pay + basisNot modeled per-template — pay-policy field, not row-by-row
(7) Hours worked each workday and total hours worked each workweekDate, Day, Clock in, Clock out, Break, Regular hours
(8) Total daily or weekly straight-time earningsTotal wages footer field
(9) Total premium pay for overtime hoursOvertime hours column
(10) Total additions to or deductions from wagesNot modeled per-template — handled at pay-period close
(11) Total wages paid each pay periodTotal wages footer field
(12) Date of payment and pay period coveredPay period ending header field

The "FLSA recordkeeping" preset preselects every toggle whose mapping is per-template (items 1, 2, 4, 5, 7, 8, 9, 12 above). Items 6, 8, 10, 11 are handled at the pay-period level — the template has space for a totals row at the bottom; the actual values are computed when the pay period closes.

Source: 29 CFR §516.2(a) — eCFR (Cornell LII).

California-specific additions

California Labor Code §1174 requires:

  • Daily hours worked (federal §516.2(a)(7) allows daily OR weekly; California requires daily)
  • Records kept at a California location or at the worksite
  • Retention at least 3 years
  • Piece-rate units earned + piece rate paid (if applicable)
  • Separate record for names, addresses, ages of minors

The "California recordkeeping" preset adds the double-time column for Labor Code §510 (the only state with general 2× pay after 12 hours/day or on the 7th consecutive day after 8h). Daily hours are already always-on; the addition is the double-time split.

For state-specific stacked overtime modeling (CA daily + weekly + double-time + 7th-day premium; KY 7th-day; AK / NV / CO daily-OT), use the State Overtime Calculator.

Source: California Labor Code §1174.

Retention rules — how long to keep the filled-out timesheet

Two federal sections set the retention windows:

Record typeRetentionSource
Payroll records (§516.2(a) items above)3 years29 CFR §516.5
Basic time-and-earning cards (raw clock-in/out sheets)2 years29 CFR §516.6

State-specific extensions:

StateRetentionSource
California (payroll)3 yearsCal. Labor Code §1174
New York (payroll)6 yearsNY Labor Law §195 (longer of the federal/state rules)

Most employers keep everything for 4+ years to also cover the IRS 4-year window on employment-tax records. For a full state-by-state retention map, see the Recordkeeping Requirements by State article.

Workweek definition (29 CFR §785.7)

A "workweek" is any fixed and regularly recurring period of 168 hours — seven consecutive 24-hour periods. The employer designates the start day; once designated, it must remain consistent. The "Workweek starts" header field exists to record this declaration on the form itself, per §516.2(a)(5).

Source: 29 CFR §785.7.

Output formats

PDF via browser print

The "Print / Save as PDF" button opens the browser's native print dialog. The user picks "Save as PDF" as the destination (every modern browser offers this option by default). Result: a single-page or multi-page PDF rendered from the HTML preview.

Print stylesheet conventions:

  • Page size: US Letter portrait (8.5" × 11"); A4 supported via @page rule
  • Margins: 0.5" top/bottom/left/right
  • Header row repeats per page (display: table-header-group)
  • Page breaks avoided mid-row (break-inside: avoid)
  • Screen-only chrome hidden (@media print rules)

No JavaScript PDF library, no bundle weight, no fonts to ship. The browser's print pipeline handles typography, page breaks, and PDF generation natively.

CSV download

The "Download CSV" button generates an RFC 4180 CSV file containing the column headers and the blank rows. Opens cleanly in Microsoft Excel, Google Sheets, Apple Numbers, and LibreOffice Calc. The CSV is built client-side via Blob + an invisible <a download> element — no library, no server round-trip.

Use CSV when you want to:

  • Add formulas (=SUM(F2:F8) for weekly totals)
  • Pre-populate rows with employee data programmatically
  • Import the structure into your existing payroll workflow

What's not modeled

  • Logos / branded headers. The template is intentionally typographic. Adding logo upload would require file storage or a heavier output pipeline. Save the printed PDF and add a header in your PDF editor of choice.
  • XLSX (true Excel format with formatting / formulas). Would require the ~700KB xlsx or exceljs library. CSV covers the practical use case (formula auto-fill happens after import).
  • Pre-populated dates. Monthly mode shows 31 blank rows. A calendar-aware mode that pre-fills dates based on a month+year picker is a v2 feature behind a "Calendar mode" toggle.
  • Multi-employee batch sheets. One employee per template. For multi-employee workflows, that's what Clockspot is built for.
  • Industry-specific column presets. Restaurant (tips), construction (job codes — partially supported via the optional Project column), medical (shift types). Not in v1; the Custom preset's toggles let users build whatever they need.

How accurate is the §516.2 mapping?

The column-to-regulation mapping is verified against the eCFR Title 29 text via Cornell LII. The mapping is for the practical subset of §516.2 that fits on a printable timesheet — items 3 (date of birth, only for minors), 6 (regular-rate basis, a pay-policy field), 10 (period-end additions/deductions), 11 (period-end total wages) are pay-period-level rather than row-by-row, and aren't represented as toggleable columns. The template's totals footer has space for items 8 / 11 to be hand-totaled at pay-period close.

For an audit-preparedness mindset, the "FLSA recordkeeping" preset preselects every per-template item; the totals footer handles the pay-period-level items. For a wage-and-hour class action defense posture, the "California recordkeeping" preset adds the double-time column.

Data sources

Companion article: Recordkeeping Requirements by State. Companion calculator: Time Card Calculator — compute weekly hours from clock-in / clock-out + lunch breaks. Companion calculator: State Overtime Calculator — model state-specific stacked OT rules (CA daily + weekly + double-time + 7th day, KY 7th day, AK / NV / CO daily-OT).

Frequently asked questions

Why a live preview instead of static download links?

Static templates force the user to download, open in Excel / Word / PDF, and THEN see what they got — and if the columns are wrong, start over. The live preview shows the result before download. The user toggles a column on or off and sees the change immediately. Every top-10 SERP competitor (Clockify, Toggl, QuickBooks, Smartsheet, ClockInEasy, TrackingTime, Hubstaff, ClickTime) ships static downloads; the live preview is the genuine differentiator.

Why a §516.2-grounded column model?

Because the regulation defines what a "compliant" timesheet actually contains, and no top-10 competitor explains the mapping. A user who needs a recordkeeping-ready timesheet (audit-preparedness, wage-and-hour class action defense, multi-state operations) should be able to see immediately which columns are statute-required and which are nice-to-have. The methodology page renders the field-by-field §516.2 mapping; the FLSA preset preselects the right toggles.

Why zero-dependency PDF (browser print) instead of jsPDF or pdf-lib?

Three reasons. (1) Bundle weight — a generator tool that adds ~270KB of jsPDF or ~500KB of pdf-lib to every visitor's download is overkill when the browser's native print → "Save as PDF" path produces equivalent output. (2) Quality — print stylesheets that render real HTML/CSS reliably produce cleaner page breaks, better typography, and proper page numbering compared to a JS library laying out lines manually. (3) Maintenance — no library version to track, no bundle to monitor for security advisories. The tradeoff is that the user goes through their browser's print dialog rather than getting an instant download — that one extra click is the cost of zero dependency.

Why CSV rather than XLSX (true Excel format)?

CSV is universally supported — opens cleanly in Excel, Google Sheets, Apple Numbers, LibreOffice — without any third-party library on our end. A true XLSX file with formatting and formulas would require the ~700KB xlsx or exceljs library. The marginal value (formula auto-fill, cell formatting) doesn't justify the bundle weight for v1. Users who want formulas can paste the CSV into Excel and add them. If this becomes the most-requested feature, XLSX is straightforward to add later behind a feature flag.

Why monthly mode shows 31 rows even in shorter months?

Because the printable template is a fixed-size form, not a calendar. A user printing for February gets 31 rows and leaves the last 2 or 3 blank — same as printing a weekly form on a 4-day workweek. Calendar-aware monthly rendering (pre-filled dates / day-of-week labels based on a month + year picker) would need to know the year for leap-year math. That's a v2 feature behind a "Calendar mode" toggle; v1 ships the simpler form.

About Clockspot

Clockspot is online time clock software for small businesses — the simplest way to track employee time, with GPS location tracking, PTO accruals, job costing, and overtime calculation. Used in all 50 states since 2007.

Printing timesheets one pay period at a time is fine for a free utility; tracking them across a team — automatic clock-in/clock-out, lunch tracking, overtime detection, per-employee reports ready for payroll — is what Clockspot was built for. See how Clockspot tracks timesheets automatically.