My hacky slappy exporting google keep data from https://takeout.google.com (which has some nice json data)
Each google keep note will be converted into a txt
file.
Note this will not include things like images / colors / sharing / etc
- FileNames (depends on
--output_file_name_strat
)- The filename in the zip file will prefer the note title but parsed to be URL safe and handle collisions
- If there is no file name it appears to take on a timestamp based on the last edit time
--output_file_name_strat=direct_export
: will output the file name directly as above--output_file_name_strat=favor_date
: will attempt to output the file according to it's dateYYYY-MM-DD
- if there are collisions, the following files will
YYYY-MM-DD_${filename}
- if there are collisions, the following files will
- The filename in the zip file will prefer the note title but parsed to be URL safe and handle collisions
- List entries do not include information about nesting
- In google keep a checklist can have 1 level of nesting, but this data doesn't appear to be reflected in the output json. It might exist in the HTML, but I haven't bothered digging that deep.
Note the format of the text file is an unstable thing to rely on, I would recommend forking this repo to make formatting modifications, so you are working with the structured JSON data.
- The filename will reflect the same name as the takeout export filename
- File Contents will include
- The title
- optionally create date
- optionally last edit date
- The file contents
- list contents
- prefixed with a
[ ]
or[X]
marking if they are complete or not
- prefixed with a
- labels converted to
#
tags
Tip: You can do some filtering if you have grepable entries like labels
$ mkdir ma-cool-label
$ grep "#ma-cool-label" -rl . | xargs -I % cp "%" ma-cool-label/
Similar to text files but markdown, This can be referenced by markdown readers like https://obsidian.md/
It has been a while, but I used the windows desktop client to import them in bulk.
-
Export text files as mentioned above
-
Use client for bulk import
This program can output an opml file that can be imported into dynalist
On the upper left of the web UI: ompls files can be imported
This will create a new note will all the imported data.
- Each entry will be imported according to it's name
- Creation date and tags are added as a note is added as a note to the name
- list documents are represented with each entry and will be marked as complete or not
- text entries will be placed as note on a dummy entry
- The note section handles multi-line and paragraph text much better than bulleted entries.
- The FR for collapsable note sections
is still being discussed So this uses a
dummy entry
---
to have a collapsable note section
Tip: once imported, use the search features like Since:2020 Until:2021
to isolate date ranges and the move
feature
to organize these entries into different notes or into hierarchies
Tip: sort entries by date
- go to https://takeout.google.com
- deselect all projects and select only google keep
- Wait for email to get a link to download zip
- Use this code and reference the zipfile
- Optionally rename the zip to
takeout-example.zip
and not have to tinker with any CLI flags
- Optionally rename the zip to
- Do cool things with exported data