Timestamps and Time Links
What timestamps are, how they connect your notes to moments in media, and how recording timestamps work
A timestamp is a clickable link in your note that points to a specific moment in a video or audio file. Click it, and the player jumps straight there.
What a timestamp looks like
When you take a timestamp, Media Extended inserts a link at the current playback position. The link text shows the time, and the link target includes a #t= hash fragment that tells the player where to seek:
- [01:35](https://www.youtube.com/watch?v=xIZQRjkwV9Q#t=95)For files inside your vault, timestamps use Obsidian's wiki-link syntax:
- [[lecture.mp4#t=95]]The #t= part carries the time. The rest is a normal Obsidian link.
Point timestamps vs clips
The #t= fragment has two modes.
A point timestamp marks a single moment with one time value:
[[lecture.mp4#t=1:35]]When you click this link, or when an embed with this hash loads, the player seeks to 1 minute 35 seconds and plays forward to the end.
A clip marks a time range with two values separated by a comma:
[[lecture.mp4#t=1:10,1:52]]This locks playback to that range. The player won't seek outside it, even if you try. Add the loop property to have the segment repeat:
[[lecture.mp4#t=1:10,1:52&loop]]Clips are useful for isolating a specific explanation or a musical phrase you want to study repeatedly.
For the full #t= syntax — time formats, open-ended ranges, and the e end sentinel — see the Timestamp Format reference. For other hash properties you can chain with #t=, see the Hash Properties reference.
Timestamps on embeds
Timestamps work on embeds the same way they work on links. Add ! before the link to embed the player inline, and include #t= to set where playback starts:
![[lecture.mp4#t=1:10]]A point timestamp on an embed means the video starts at that position when the embed loads and plays forward to the end. A clip restricts the embedded player to that range.
You can set the embed's display size alongside the timestamp:
![[lecture.mp4#t=1:10,1:52|400]]To edit hash properties on an existing embed without rewriting the link by hand, right-click the embed and choose Edit hash properties. A dialog opens where you can adjust the start time, end time, and other playback settings.
How clicking a timestamp works
When you click a timestamp link, the plugin intercepts the click before Obsidian's default link handler. It reads the #t= fragment, finds the matching player, and sends a seek command.
If the media is already open, the existing player seeks to the new time without opening a second copy. If not, the plugin opens it in a new player tab and seeks after loading.
For clips, clicking the link also updates the player's clip boundaries. The scrub bar is restricted to the specified range and loops within it if looping is enabled.
You can configure what happens on click or alt-click in Settings > Media Extended > Link behavior: open in the current pane, a new tab, a split pane, or a new window.
Inserting timestamps
There are two insertion styles.
Timestamped inserts wrap the timestamp in a template and place the result on its own line, preserving any selected text. The action bar's star button (tooltip: "Take timestamp in last active note") and the Insert timestamp snippet to note command both produce this:
- [01:35](https://www.youtube.com/watch?v=xIZQRjkwV9Q#t=95)Plain inserts drop just the bare link inline with your writing. The Add timestamp to note command does this. It respects the Insert location setting (before or after the cursor) and keeps selected text intact, which is useful when you want to turn a phrase into a linked reference.
Both styles are available from the editor's right-click Media submenu, the command palette, and assignable hotkeys. Timestamped inserts use a customizable template. See Template System for details.
Copying timestamps
When you want to share a timestamp outside your note, the player menu offers Copy timestamp as with seven formats:
| Format | Example output |
|---|---|
| Time only | 3:45 |
| URL | https://youtube.com/watch?v=...#t=225 |
| URL (opens in Obsidian) | obsidian://mx-open?url=... |
| Rich text link | Clickable hyperlink (pastes as a link in apps that support it) |
| Rich text link (opens in Obsidian) | Same, routed through Obsidian |
| Markdown | [3:45](https://...) |
| Markdown (opens in Obsidian) | [3:45](obsidian://mx-open?url=...) |
The "(opens in Obsidian)" variants use an obsidian:// URL so clicking the link in another app opens the media inside the plugin.
Recording timestamps
Media Extended integrates with Obsidian's built-in Audio Recorder core plugin. This lets you take timestamps while recording, even though the audio file doesn't exist yet.
How it works
While you record, the plugin inserts placeholders into your note instead of real links. A placeholder looks like %%REC_...%% and stores the elapsed time since the recording started.
When you stop recording and Obsidian saves the audio file, every placeholder is replaced with a real timestamp link pointing to the new file. If you took a timestamp 5 minutes in, the placeholder becomes [[Recording.m4a#t=300]].
You insert recording timestamps with the Take timestamp on current recording command. There is no button for this in the UI, so you'll need to assign a hotkey (in Settings > Hotkeys, search for the command name).
The placeholder lifecycle
- Start recording using Obsidian's Audio Recorder.
- Take timestamps by pressing your hotkey. Each press inserts a
%%REC_...%%placeholder at your cursor with the elapsed time baked in. - Stop recording. Obsidian saves the audio file to your vault.
- Placeholders resolve. The plugin reads the elapsed time in each placeholder and replaces it with a working timestamp link pointing to the new file.