Export Mac screen time CSV: fields and limits

TeenyScreeny exports its full stored history, not the chart's selected range. Read the four fields correctly before you filter a week or compare days.

Published June 30, 2026 Updated August 11, 2026 By John Sciacchitano

The quick answer: TeenyScreeny exports every persisted daily record to a UTF-8 file named teenyscreeny-export.csv by default. Rows are ordered from oldest to newest. The file is not limited to the 7, 14, or 30-day chart range, so filter the dates you need after opening it.

The four columns are date, total_seconds, total_formatted, and goal_met. This is TeenyScreeny's local active-time history, not Apple's Screen Time database. It has no app names, websites, projects, meeting durations, or manual notes.

Disclosure: I build TeenyScreeny. This guide uses the current exporter, daily-record model, history view, and duration formatter as the source of truth. Apple Numbers documentation supplies the import guidance.

What each CSV field means

Field Meaning Limit to record
date Calendar day formatted as yyyy-MM-dd in the Mac's current time zone when you export. A time-zone change can affect how a stored date is rendered.
total_seconds The stored active-time total as an integer number of seconds. It is not app time, billable time, or project time.
total_formatted A readable duration generated from the same seconds. Whether seconds appear follows the current show-seconds preference.
goal_met true only when a valid goal is enabled and the saved total is strictly below the cap. false can mean equal to/over the cap, disabled goal, or invalid goal.

01Separate the chart range from the export range

The daily History chart can show 7, 14, or 30 days. The monthly view can show 6 or 12 months. Those controls do not filter the CSV. The export action reads the complete stored history and sorts every daily record by date.

To review one week, open the file and filter the date column or select the seven rows that belong to the week. Do not describe the raw file as a weekly export unless you have made that filter yourself.

This distinction matters when you preserve the file as evidence. Keep the original export unchanged, then make a working copy for filters, charts, and notes. The original shows what the app exported; the copy shows how you interpreted it.

02Use seconds as the comparison field

Use total_seconds for calculations, sorting, and charts. It is the stable numeric field. Treat total_formatted as a display aid because its presentation can change when the show-seconds preference changes.

Apple Numbers can import a text file and lets you adjust delimited-text settings before import. Confirm that the four headers land in four columns and that total_seconds is numeric before calculating a weekly sum or average.

A gap in dates is not proof of zero active time. It means there is no exported daily record for that date. Label the gap as missing until another source explains it. Likewise, a live counter can be slightly newer than the saved row because TeenyScreeny persists on a 60-tick interval and on lifecycle events.

03Decode goal status before filtering it

The source sets goal_met to true only when the daily goal is enabled, the configured hours are above zero, and the saved total is strictly below the limit. A total equal to the cap is false.

False is therefore ambiguous. It can mean the day reached or exceeded a valid goal, but it can also mean no valid goal was active. Record the goal setting alongside the export before counting "misses." Without that context, a false-value chart can create a result the file does not support.

The broader Mac screen time weekly review helps decide whether a real pattern calls for a goal change. The CSV guide is only about getting the source data and its limits right.

04Add context outside the raw export

The exporter does not include a notes field. Add one only in the working copy. A short label such as calls, release, travel, or admin can explain a high day without pretending the app measured that cause.

The companion TeenyApps hub, Mac daily work-log evidence guide, uses a six-field contract: source, observation time, value, context, limit, and next decision. If microphone state affected the day, the Mac microphone mute feedback guide separates system readback from meeting-app and remote-listener proof.

Keep the raw and annotated files private by default. Dates and durations can expose late nights, days off, or crunch periods even without app names.

Five-minute CSV validation workflow

  1. Open TeenyScreeny's History window.
  2. Export the full file and preserve that original unchanged.
  3. Open a copy in Numbers and confirm the four expected headers.
  4. Filter date to the review period instead of assuming the chart range carried over.
  5. Use total_seconds for calculations and check date gaps before treating them as zero.
  6. Record whether a valid daily goal was enabled before interpreting goal_met.
  7. Add notes and decisions in separate columns in the working copy.

Common questions

Can I export Mac screen time to CSV?

Yes. TeenyScreeny exports its full stored local history, ordered from oldest to newest, with date, total seconds, formatted duration, and goal status. It does not export Apple Screen Time data.

Does TeenyScreeny export only the selected chart range?

No. The CSV exporter reads all stored daily records. The 7, 14, and 30-day controls change the daily chart, not the exported history.

Does goal_met false always mean I missed a goal?

No. The value is also false when the daily goal is disabled or invalid. When a valid goal is enabled, true means the saved total is strictly below the cap; a total equal to the cap is false.

Sources checked

$4.99 once. Export the week, not your whole life.

teenyscreeny is a native Mac menu bar counter with local history, soft daily goals, streaks, CSV export, and gentle reminders.