google-keep-converter
v2.0.0
Published
Migrate Google Keep exports to Markdown and CSV.
Maintainers
Readme
google-keep-converter
Migrate your Google Keep notes to Markdown — ready for Obsidian, Logseq, Notion, or any Markdown-based tool.
Each note becomes an individual .md file with YAML frontmatter. List notes get - [ ] / - [x] checkboxes. Labels become tags. A CSV export is also available.
Requirements
- Node.js >= 24
- A Google Keep export from Google Takeout (select "Keep")
Installation
npm install -g google-keep-converterUsage
- Export your Google Keep data via Google Takeout and extract the archive
- Navigate to the folder containing your Keep export (or anywhere within it)
- Run:
google-keep-converterThe tool searches for your notes in ./Takeout/Keep/, ./Keep/, or the current directory — in that order.
Output is saved to a new keep-notes-YYYY-MM-DD-HHmm/ folder in the current directory, one .md file per note.
Options
| Option | Description |
|---|---|
| --csv | Also export a keep-notes-YYYY-MM-DD-HHmm.csv file |
| --trashed | Include trashed notes (excluded by default) |
| --output <dir> | Write Markdown files to a custom directory |
| -h, --help | Show help |
Output format
Markdown
---
title: "Shopping list"
created: 2024-03-15T10:30:00.000Z
updated: 2024-11-01T14:22:00.000Z
tags: ["groceries"]
color: GREEN
---
- [ ] Milk
- [x] Eggs
- [ ] BreadText notes, list notes (with checked/unchecked state), labels, color, pinned and archived status are all preserved. Notes with image or audio attachments include a reference to the attachment file.
CSV
When --csv is passed, a single CSV file is written alongside the Markdown folder. Columns: title, created, updated, content, labels, color, isPinned, isArchived, sourceFile.
How it works
Google Takeout exports Keep notes as both .html and .json files. This tool reads the .json files, which contain clean structured data: plain-text content, machine-readable timestamps, checked state for list items, labels, and metadata. No HTML parsing.
