An open API service indexing awesome lists of open source software.

https://github.com/marph91/jimmy

Convert your notes to Markdown
https://github.com/marph91/jimmy

anki bear google-keep joplin markdown markdown-converter microsoft-office notion nsx obsidian pandoc simplenote standard-notes standardnotes synology textbundle tiddlywiki todotxt wordpress zoho

Last synced: about 1 month ago
JSON representation

Convert your notes to Markdown

Awesome Lists containing this project

README

        

# jimmy

Free your notes by converting them to Markdown.

:floppy_disk: Download: [**Linux**](https://github.com/marph91/jimmy/releases/latest/download/jimmy-cli-linux) | [**Windows**](https://github.com/marph91/jimmy/releases/latest/download/jimmy-cli-windows.exe) | [**MacOS**](https://github.com/marph91/jimmy/releases/latest/download/jimmy-cli-darwin-arm64) [![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/marph91/jimmy/total)](https://hanadigital.github.io/grev/?user=marph91&repo=jimmy)

If there is an issue at download or execution, please take a look at the [step-by-step instructions](#step-by-step-instructions).

:blue_book: For detailed information, take a look at the [Documentation](https://marph91.github.io/jimmy/).

:star: If Jimmy is useful for you, feel free to star it on [Github](https://github.com/marph91/jimmy).

[![build](https://github.com/marph91/jimmy/actions/workflows/build.yml/badge.svg)](https://github.com/marph91/jimmy/actions/workflows/build.yml)
[![lint](https://github.com/marph91/jimmy/actions/workflows/lint.yml/badge.svg)](https://github.com/marph91/jimmy/actions/workflows/lint.yml)
[![tests](https://github.com/marph91/jimmy/actions/workflows/tests.yml/badge.svg)](https://github.com/marph91/jimmy/actions/workflows/tests.yml)

## Features

- ✅ Several supported input formats
- ✅ Markdown + Frontmatter output
- Compatible with any text editor
- Can be imported to Joplin/Obsidian/...
- Preserves resources, tags and note links when possible
- ✅ Offline
- ✅ Open Source
- ✅ Cross-platform
- ✅ Standalone (no Docker, Python or NodeJS installation required)
- ❎ No AI

## Supported Apps

Export data from your app and convert it to Markdown. For details, click on the links.

|||||||
| :--- | :---: | :---: | :---: | :---: | :---: |
| **A** |
[Anki](https://marph91.github.io/jimmy/formats/anki/) |
[Anytype](https://marph91.github.io/jimmy/formats/anytype/) |
| **B** |
[Bear](https://marph91.github.io/jimmy/formats/bear/) |
| **C** |
[Cacher](https://marph91.github.io/jimmy/formats/cacher/) |
[CherryTree](https://marph91.github.io/jimmy/formats/cherrytree/) |
[Clipto](https://marph91.github.io/jimmy/formats/clipto/) |
[ColorNote](https://marph91.github.io/jimmy/formats/colornote/) |
| **D** |
[Day One](https://marph91.github.io/jimmy/formats/day_one/) |
[Drafts](https://marph91.github.io/jimmy/formats/drafts/) |
[Dynalist](https://marph91.github.io/jimmy/formats/dynalist/) |
| **E** |
[Evernote](https://marph91.github.io/jimmy/formats/evernote/) |
| **F** |
[Facebook](https://marph91.github.io/jimmy/formats/facebook/) |
[FuseBase, Nimbus Note](https://marph91.github.io/jimmy/formats/fusebase/) |
| **G** |
[Google Docs](https://marph91.github.io/jimmy/formats/google_docs/) |
[Google Keep](https://marph91.github.io/jimmy/formats/google_keep/) |
| **J** |
[Joplin](https://marph91.github.io/jimmy/formats/joplin/) |
[jrnl](https://marph91.github.io/jimmy/formats/jrnl/) |
| **N** |
[Notion](https://marph91.github.io/jimmy/formats/notion/) |
| **O** |
[Obsidian](https://marph91.github.io/jimmy/formats/obsidian/) |
| **Q** |
[QOwnNotes](https://marph91.github.io/jimmy/formats/qownnotes/) |
| **R** |
[RedNotebook](https://marph91.github.io/jimmy/formats/rednotebook/) |
| **S** |
[Simplenote](https://marph91.github.io/jimmy/formats/simplenote/) |
[Standard Notes](https://marph91.github.io/jimmy/formats/standard_notes/) |
[Synology Note Station](https://marph91.github.io/jimmy/formats/synology_note_station/) |
| **T** |
[Telegram](https://marph91.github.io/jimmy/formats/tiddlywiki/) | [Textbundle, Textpack](https://marph91.github.io/jimmy/formats/textbundle/) |
[Tiddlywiki](https://marph91.github.io/jimmy/formats/tiddlywiki/) |
[Tomboy-ng, Gnote](https://marph91.github.io/jimmy/formats/tomboy_ng/) |
[Turtl](https://marph91.github.io/jimmy/formats/turtl/) |
| **W** |
[Wordpress](https://marph91.github.io/jimmy/formats/wordpress/) |
| **Z** |
[Zettelkasten](https://marph91.github.io/jimmy/formats/zettelkasten/) |
[Zim](https://marph91.github.io/jimmy/formats/zim/) |
[Zoho Notebook](https://marph91.github.io/jimmy/formats/zoho_notebook/) |

## Supported Formats

Import a single file or a folder (recursively). Files of these formats will be converted to Markdown. The formats can be mixed. For example you can import a folder with two Asciidoc files and one docx file. The conversion result will be a folder with three Markdown files and the corresponding attachments.

||||
| :--- | :---: | :---: |
| **A** |
[Asciidoc](https://marph91.github.io/jimmy/formats/default/) |
| **C** |
[CSV](https://marph91.github.io/jimmy/formats/default/) |
| **D** | [DocBook](https://marph91.github.io/jimmy/formats/default/) |
[docx](https://marph91.github.io/jimmy/formats/default/) |
| **E** | [eml](https://en.wikipedia.org/wiki/Email#Filename_extensions) |
[EPUB](https://marph91.github.io/jimmy/formats/default/) |
| **F** |
[Fountain](https://marph91.github.io/jimmy/formats/default/) |
| **H** |
[HTML](https://marph91.github.io/jimmy/formats/default/) |
| **J** |
[Jupyter Notebook](https://marph91.github.io/jimmy/formats/default/) |
| **M** |
[Markdown](https://marph91.github.io/jimmy/formats/default/) |
[MediaWiki](https://marph91.github.io/jimmy/formats/default/) |
| **O** |
[ODT](https://marph91.github.io/jimmy/formats/default/) |
[OPML](https://marph91.github.io/jimmy/formats/default/) |
| **R** | [reStructuredText](https://marph91.github.io/jimmy/formats/default/) | [RTF](https://marph91.github.io/jimmy/formats/default/) |
| **T** | [txt2tags](https://marph91.github.io/jimmy/formats/default/) |

## General Usage

```mermaid
flowchart LR
A[App 1] -->|Backup| M
B[App 2] -->|Export| M
C[...] --> M
D[Filesystem] --> M
M(ZIP archive/JSON/Folder) --> N
N{jimmy} --> O(Markdown + Frontmatter)
O -->|Import| P[Joplin]
O -->|Import| Q[Obsidian]
O --> R[...]
O --> S[Editor, e. g. VSCode]
```

1. Export/backup notes from your note application
2. Run `jimmy`, which converts your notes to Markdown
3. Import the result to Joplin/Obsidian or use any editor to view the notes

After conversion, the notes should be available in a folder named like `YYYY-MM-DD HH:MM:SS - Import`. Make sure your data is converted properly :exclamation:

What is converted (in most cases)?

- Note content
- Tags / Labels
- Images / Resources / Attachments
- External links and internal note links

## Step-by-step Instructions

| Step | Linux / MacOS Example | Windows Example |
| --- | --- | --- |
| Export your notes to your download folder | `/home/user/Downloads/Export.zip` | `C:\Users\user\Downloads\Export.zip` |
| Download Jimmy to your download folder [1] | `/home/user/Downloads/jimmy-cli-linux` | `C:\Users\user\Downloads\jimmy-cli-windows.exe` |
| Open a terminal | [Linux](https://www.wikihow.com/Open-a-Terminal-Window-in-Ubuntu) / [MacOS](https://www.wikihow.com/Open-a-Terminal-Window-in-Mac) instructions | [Windows instructions](https://www.wikihow.com/Open-Terminal-in-Windows) |
| Change to the download folder | `cd /home/user/Downloads/` | `cd C:\Users\user\Downloads\` |
| Make Jimmy executable | `chmod +x jimmy-cli-linux` | \- |
| Do the conversion [2] [3] | `./jimmy-cli-linux Export.zip --format notion` | `jimmy-cli-windows.exe Export.zip --format notion` |
| Check the output folder | `/home/user/Downloads/20250226T200101Z - Jimmy Import from notion` | `C:\Users\user\Downloads\20250226T200101Z - Jimmy Import from notion` |

[1] On Windows: If jimmy is flagged as virus, please [report the false positive to your antivirus vendor](https://github.com/pyinstaller/pyinstaller/blob/c7f12ccfaa2e116c3b7cfb58dadfc1e6b8c6882d/.github/ISSUE_TEMPLATE/antivirus.md#reporting-false-positives-to-av-vendors). As workaround you can try an older version of jimmy.

[2] On MacOS: If there is the error message `zsh: bad CPU type in executable`, please use [this executable](https://github.com/marph91/jimmy/releases/latest/download/jimmy-cli-darwin-x86_64). It is supported by Intel chips.

[3] On MacOS: If there is the error message `"jimmy-cli-darwin-arm64" cannot be opened because the developer cannot be verified`, please authorize jimmy at `System Settings > Privacy & Security > Security > Open Anyway`. See also the [Apple support guide](https://support.apple.com/en-gb/guide/mac-help/mchlc5fb7f9c/mac).

## Demo

Example commands for the Linux CLI app:

```bash
# import a single file supported by pandoc
jimmy-cli-linux libre_office_document.odt

# import all files in a folder
jimmy-cli-linux path/to/folder

# import a Google Keep export
jimmy-cli-linux takeout-20240401T160516Z-001.zip --format google_keep
```

This is an example of a successful conversion:

```bash
$ jimmy-cli-linux .cache/google_keep/takeout-20240401T160516Z-001.zip --format google_keep --frontmatter joplin
[09/19/24 15:15:34] INFO Importing notes from ".cache/google_keep/takeout-20240401T160516Z-001.zip"
INFO Start parsing
INFO Finished parsing: 1 notebooks, 3 notes, 1 resources, 3 tags
INFO Start filtering
INFO Finished filtering: 1 notebooks, 3 notes, 1 resources, 3 tags
INFO Start writing to file system
INFO Converted notes successfully to Markdown: "20240919T131534Z - Jimmy Import from google_keep". Please verify that everything was converted correctly.
INFO Feel free to open an issue on Github, write a message at the Joplin forum or an email.

Notebooks 100%|████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00]
Notes 100%|████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00]
Resources 100%|████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00]
Tags 100%|████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00]
```

## Similar Projects

- [Obsidian-Importer](https://github.com/obsidianmd/obsidian-importer)
- [YANOM-Note-O-Matic (fork)](https://github.com/stereohorse/YANOM-Note-O-Matic)