John41 downloadsImport Steam Overlay Game Notes into Obsidian and push edits back to Steam. Organized by game, with images.
Bring the notes you take in Steam's in-game overlay into Obsidian. Organized by game. Images included. And then push edits back.
SteamyNotes is an Obsidian plugin that syncs your Steam Overlay game notes (Shift+Tab → Notes while playing) with your vault as Markdown files, one folder per game.
Status: v1.0.0 - Pull and push both work. Steam's local notes_<AppID> files can be updated from Obsidian. Read the Push warnings before writing back.
Requires: Obsidian 1.7.2 or newer · Desktop only · Steam installed on the same computer
Pushing writes into Steam's local notes files. Close any running game and the Steam Notes editor before you push. After a push, the Steam client may keep the old note text in memory for a few minutes. Do not open or edit that note in Steam during that wait — Steam can overwrite your disk files with the stale in-memory copy and wipe the Obsidian edits you just pushed.
Steam Notes is genuinely useful for puzzle solutions, build orders, checklists and map sketches. Players also report rough edges. SteamyNotes addresses several of them:
| What Steam Notes users report | What SteamyNotes does about it |
|---|---|
| No export, import or backup. There's no built-in way to get your notes out of Steam. | Available. Pulls every game's notes into plain Markdown in your vault for backup, sync and version control. |
| Notes vanish, revert, or get cut off. Edits disappear after switching notes or relaunching; cloud conflicts can blank every game's notes. | Partial. Reads Steam's local files directly for an independent copy. Pull preserves notes you edited in Obsidian (three-way compare). Optional History snapshots. Cannot fix Steam's own save/sync bugs. |
| Notes are only reachable inside the overlay (or per-game on the library page); no phone or "all notes" view. | Available. Once pulled, notes are ordinary vault files. Pull/push run on desktop. |
| No search across games, no linking, no tags. | Available. Obsidian search, backlinks, tags, graph. Frontmatter carries game and AppID. |
| Images are awkward. | Available. Images are copied into the vault and embedded as ![[…]]. Known images can round-trip on push. |
| Editing outside the game isn't possible. | Available (v0.7+). Edit in Obsidian and push back so changes show in-game after Steam reloads the files. |
What SteamyNotes does not do: it does not fix Steam's saving or cloud sync. If Notes misbehaves on Steam's side, see Troubleshooting.
userdata folder (notes_<AppID>)NN - Title.mdsteam_appid, steam_game, steam_source, steam_note_id, steam_note_index, steam_created, steam_modifiednotes_<AppID>_images into the vault.steamy-backup written next to each Steam file before push; Restore from backup actionmain.js, manifest.json and styles.css from this repository..obsidian/plugins/steamynotes/ and put the three files there.| OS | Typical location |
|---|---|
| Windows | C:\Program Files (x86)\Steam\userdata\<SteamUserID>\2371090\remote |
| macOS | ~/Library/Application Support/Steam/userdata/<SteamUserID>/2371090/remote |
| Linux | ~/.local/share/Steam/userdata/<SteamUserID>/2371090/remote (or ~/.steam/steam/…) |
<SteamUserID> is the numeric folder under userdata. If you have several accounts, pick the one that contains notes_… files.
Steam/Notes) and image destination.Tip: Steam only creates a notes file after you save a note for that game at least once.
Steam/Notes/
└─ Half-Life 2/
├─ 01 - Route notes.md
├─ 02 - Puzzle solutions.md
└─ .steam-source-220.txt ← optional raw copy
Steam/Notes/Images/
└─ …
Example note:
---
steam_appid: 220
steam_game: "Half-Life 2"
steam_source: "…\\userdata\\12345678\\2371090\\remote\\notes_220"
steam_note_id: "…"
steam_note_index: 1
steam_created: 2026-01-01T12:00:00.000Z
steam_modified: 2026-01-02T18:30:00.000Z
---
# Route notes
Your note text, with **bold**, *italic* and ![[Steam/Notes/Images/example.png]]
notes_<AppID> file (JSON preferred; KeyValues attempted as fallback)..steam-source-<AppID>.txt.steam_note_id) are updated. New notes created only in Obsidian are not created on the Steam side yet.notes_<AppID>.steamy-backup next to the live file.The files on disk update immediately. The Steam client often does not. It can keep showing the previous text for a few minutes until it reloads from disk or cloud.
During that wait:
cloud_sync_down 2371090 right after a push — it can download an older cloud copy over your new local files.Notes live under Steam AppID 2371090 (not the game’s AppID).
If a push leaves a note unreadable or wrong:
notes_<AppID>.steamy-backup over the live fileKeep the Notes editor closed while restoring.
Steam Notes use a limited BBCode formatting. SteamyNotes converts both ways for the tags below. Round-trips are best when you use normal Markdown in Obsidian and let push emit Steam tags (or apply formatting with Steam’s toolbar and pull).
| Steam | Markdown |
|---|---|
[p]…[/p] (one block per visual line) |
Paragraphs / separate lines |
[br] (legacy; Steam may show this as literal text) |
Newline on pull; not emitted on push |
[b]…[/b] |
**bold** |
[i]…[/i] |
*italic* |
[strike]…[/strike] |
~~strikethrough~~ |
[url="href"]text[/url] or [url=href]text[/url] |
[text](href) |
[h1] / [h2] / [h3] |
# / ## / ### |
[list] / [olist] + [*] |
- / numbered lists |
[code]…[/code], [c]…[/c] |
`code` or fenced blocks |
[quote]…[/quote] |
> blockquote |
[hr][/hr] |
--- |
[cloudimg src="…"][/cloudimg] |
![[vault/path]] |
Notes:
[br] reliably; push uses separate [p] tags instead.[u]) has no Markdown equivalent; text is kept, tag dropped on pull.If you find a tag that should convert and does not, open an issue and include a sample of the Steam content string.
| Setting | Default | What it does |
|---|---|---|
| Steam Game Notes folder | (empty) | Folder containing notes_<AppID> (…\2371090\remote). Browse + Auto-detect. |
| Obsidian destination folder | Steam/Notes |
Vault folder for imported notes (one subfolder per game). |
| Steam note image destination | Steam/Notes/Images |
Where images are copied. |
| Import all Steam note images | On | Copy every image in notes_<AppID>_images, or only referenced ones. |
| Resolve game names | On | Look up names via Steam store API. Off = Steam App <AppID>, fully offline. |
| Keep raw Steam source files | On | Write .steam-source-<AppID>.txt per game. |
Steam stores notes under userdata/<SteamUserID>/2371090/remote and syncs them through Steam Cloud (separate from most game saves). SteamyNotes reads and writes those local files.
The format is not officially documented. The parser tries JSON first, then Valve KeyValues. Push currently writes JSON only (the format modern clients use).
Matching uses steam_note_id in frontmatter. Sync state tracks content hashes so pull can tell “vault edited”, “Steam edited”, or both.
store.steampowered.com/api/appdetails with the AppID only — never note text. Names are cached. Turn the setting off for offline use.steam_source in frontmatter includes your local path (and numeric Steam user ID). Remove it before sharing notes publicly."Set the Steam Game Notes folder in Settings first."
Settings → SteamyNotes → set the folder (Auto-detect is fastest).
"No notes_ files were found in that folder."
You need the folder that directly contains notes_<AppID>, usually …\2371090\remote.
Auto-detect finds nothing.
Non-default Steam install path — use Browse or paste.
Browse does nothing.
Some Obsidian builds lack the native folder picker — paste the path.
Folder named Steam App 12345.
Name lookup failed (offline, API, delisted game). Later successful lookup creates a new folder; delete the old one after checking.
Import/push failures.
Developer console (Ctrl+Shift+I / Cmd+Opt+I) → look for SteamyNotes errors.
Steam shows empty notes / cloud icon on Notes.
Steam-side cloud conflict. Pull first to secure a vault copy. In Notes, use the cloud icon and prefer the newer timestamp. Big Picture overlay has been reported to break that UI.
Pushed changes don’t appear in Steam.
Disk was updated; the client is still showing memory. Wait, fully exit Steam, or try cloud_sync_up 2371090. Do not edit the note in Steam until it shows the new text, or you may overwrite the push.
Push left a note broken.
Ribbon → Restore from backup (requires notes_<AppID>.steamy-backup from the last push).
Mobile.
Plugin is desktop-only (needs the Steam install). Imported Markdown can sync to mobile with your vault.
notes_*_images folderSteamyNotes is an unofficial community plugin. It is not affiliated with, endorsed by, or sponsored by Valve Corporation or Obsidian. Steam and the Steam logo are trademarks of Valve Corporation. Steam’s notes storage format is not officially documented; a client update could change behaviour. Keep your own backups of anything important. Use push at your own risk and keep the Notes editor closed while writing to Steam’s files.
MIT © pengd0t