Timekeeper#
Timekeeper is a userscript for timestamping YouTube streams.
Installation#
- Install a userscript addon like Tampermonkey or Violentmonkey.
- Click here to install Timekeeper.
Usage#
Mini button#
Visit any YouTube stream and you’ll see a small ▶️ button.
Click it to open the main UI.

You can drag the mini button to a position you prefer around the edge of the screen, and Timekeeper will remember this setting.
Timekeeper may move the mini button to keep it visible if you resize the window. To avoid this, place the mini-button in the top left quarter of your browser window, which isn’t often sized down.
If you have stored timestamps for a particular video, the Timekeeper main UI will open automatically.
Main UI#

- 🐣 adds a new timestamp at the current playback time
- ⚙️ opens the save/load/export/import menu
- 📋 copies all timestamps to the clipboard
- 🔀 sorts timestamps into chronological order
Most items have tooltips, so you can hover over them to see what they do.
- ▶️CT: 0:00 shows the current playback time. While a stream is live, you can click this number to seek to the latest playback time. This is useful if you scrub backwards during a live stream and want to catch up with the live stream. Clicking ▶️ will minimize timekeeper.
v2.2.3is the Timekeeper version.
Per-timestamp controls#

- ⏺️ Sets the time for the timestamp to the current playback time.
- ➖/➕ seek forward and back by 1 second from the timestamp time, or by 10 seconds if you hold shift. Playback will begin from the time you seek to. This is the easiest way to make precise timing adjustments.
- 🗑️ marks the timestamp for deletion, and turns the background red to indicate this. If you click again within 5 seconds, the timestamp is deleted. If you mistakenly click, wait 5 seconds and the deletion is cancelled.
Loading and saving timestamps#
Since Timekeeper is often used as part of workflows with other tools, it supports importing and exporting timestamps in different formats.
Loading timestamps from Korotagger#
- Use the
ytflag when listing Koro tags, e.g.:!tags yt <youtube_link>. Copy these to the clipboard. - In Timekeeper, ⚙️ > 📂Load >
Load from: Clipboardto load these timestamps from the clipboard. Your browser may prompt you for additional permissions, or require an extra click on a browser UI element before pasting.
💾 Save#
⚙️ > 💾 Save > Save as: Plain Text Plain text is the most widely compatible format, and the easiest for others to work with in a text editor. It also imports without issue into Timekeeper, so JSON is only really useful if you want to do some programmatic processing.
📂 Load#
When loading timestamps, Timekeeper prefers the timestamp text from the incoming timestamps for entries with the same timestamp. So if you have a 0:00 Hello! timestamp in Timekeeper and import a file with 0:00 Goodbye!, you’ll end up with 0:00 Goodbye!. If this is not what you want, I recommend editing in a text editor first.
To load timestamps: ⚙️ > 📂 Load > select File or Clipboard as needed. File will auto-detect the text or JSON formats, so there’s no need to differentiate them.