← Back to blog

Language Learning Log Template: Free CSV and Spreadsheet Columns

A language learning log doesn't need to be clever. It needs a handful of columns you'll actually fill in, in a format that won't trap your data later. Here's a template that works in Google Sheets, Excel, Numbers or a plain text file, and why each column is there.

On this page

The six columns

Columns for a language learning log
Column Example Why
date2026-09-30Weekly and monthly totals, streaks
minutes25The unit everything adds up in
languageJapaneseSeparate totals per language
activitywatchingInput vs output vs study
sourceAnimeWhere your hours really come from
noteEp. 4, JP subsOptional context you'll want later

A few choices that save trouble later:

  • Write dates as YYYY-MM-DD (2026-09-30). It sorts correctly, and no one has to guess whether 03/04 is March or April.
  • Log minutes, not hours. Whole numbers are easier to type on a phone, and you can convert to hours in a summary.
  • Keep a short, fixed list of activities: watching, listening, reading, speaking, writing, vocabulary, grammar, other. If every row invents a new label, your totals by activity become useless.
  • One row per session. Two activities in one sitting (an episode, then Anki) are two rows.

The template

Copy this into a new sheet, or download the CSV template and open it in any spreadsheet app:

date,minutes,language,activity,source,note
2026-09-28,24,Japanese,watching,Anime,Ep. 3 with JP subs
2026-09-28,15,Japanese,vocabulary,Anki,
2026-09-29,30,Spanish,listening,Podcast,On the walk to work
2026-09-29,20,Spanish,watching,Dreaming Spanish,
2026-09-30,45,Spanish,speaking,Tutor,Talked about work

Formulas for the numbers you'll want

Assuming the columns above start in A1 on a sheet called Log, these work in Google Sheets and Excel:

  • Total hours: =SUM(Log!B:B)/60
  • Total hours for one language: =SUMIF(Log!C:C,"Spanish",Log!B:B)/60
  • Minutes of speaking: =SUMIF(Log!D:D,"speaking",Log!B:B)
  • Minutes in the last 7 days: =SUMIFS(Log!B:B,Log!A:A,">="&TODAY()-6)

For a breakdown by week and activity, a pivot table with date grouped by week as rows, activity as columns and the sum of minutes as values does the job in a couple of minutes. Our Google Sheets language tracker goes further, with charts and a streak formula.

Making it easy to fill in

The weak point of any spreadsheet log is entering data on a phone. Two things help:

  1. Use a form. In Google Sheets you can create a Google Form whose responses go into a sheet. Put the form on your home screen and logging becomes a few taps, with dropdowns for language and activity.
  2. Log right after the session. Estimates written days later drift. The episode length or the podcast runtime is right there when you finish.

Moving your hours into LangTrack later

A good reason to keep the language column: if you move to the LangTrack tracker later, your past hours come with you as one total per language, and this log gives you those totals in seconds. LangTrack doesn't read the file itself; you enter the numbers:

  • Get each language's total with the SUMIF formula above.
  • Enter it once under Hours before LangTrack. You can tag it with an activity, or as Dreaming Spanish hours for Spanish.
  • It's saved as a single entry dated before your first session, so it doesn't land in this week's stats.

Those hours count towards your totals and level goals, so your hours-to-level estimate starts from where you really are. If you never kept a log, a rough estimate of your past hours works the same way. On the free plan you can add hours for the language you track; Pro covers more languages. Your session-by-session detail stays in the sheet, and LangTrack exports your logs as a CSV, so your history is never locked in. Add your past hours or start fresh today.

FAQ

What should a language learning log include?

At minimum the date, minutes and language. Adding activity (watching, listening, reading, speaking, writing, vocabulary, grammar) and source (the app, show or podcast) shows how your time splits, and an optional note column keeps context.

Can I bring the hours from a spreadsheet log into LangTrack?

Yes, as a total. Add up the hours in your log for each language and enter them under Hours before LangTrack, one starting total per language. They count towards your totals and level goals, and you log new sessions from there.

Is a log template better than an app?

A template is free and fully yours; an app is faster to log in and has charts and goals built in. Many people start with a sheet and move to an app once logging on their phone becomes a chore, carrying their old hours over.

Already have a log?

Add its hours to LangTrack as a starting total and keep going with one-tap logging. Free for one language.

Start tracking — free