This Obsidian plugin helps you import notes from other apps and file formats into your Obsidian vault. Notes are converted to plain text Markdown files.
Install Importer in Obsidian → Community Plugins.
Import guides are hosted on the official Obsidian Help site. You can help contribute to the guides on the obsidian-help repo.
- Import from Airtable
- Import from Apple Journal
- Import from Apple Notes
- Import from Bear (.bear2bk)
- Import from CSV files (.csv)
- Import from Evernote
- Import from Google Keep
- Import from HTML files
- Import from Microsoft OneNote
- Import from Notion
- Import from Roam Research
- Import from Logseq
- Import from Markdown files (.md, .txt)
- Import from Textbundle files (.textbundle, .textpack)
- Import from Tomboy/Gnote (.note)
See Import templates for the shared template variables and the additional values provided by each importer.
Importer is a community-led project. You can explore pull requests and see the credits below for reference. The Obsidian team is not actively working on adding new import capabilities, but we welcome pull requests for new formats and improvements.
Is a format missing? You can help! See our Contribution guidelines.
Some issues have been tagged with #bounty.
npm install
npm run dev # build, copy into a vault, reload the plugin
npm test # convert every fixture and compare against its recording
npm run build # typecheck and build for releaseSet OBSIDIAN_PATH in .env to the plugin folder npm run dev should copy into, relative to your home directory:
OBSIDIAN_PATH='/Documents/MyVault/.obsidian/plugins'
Each importer is tested by converting a real file and comparing the result with an expected output:
tests/notion/notion-testspace.zip a fixture
tests/notion/expected/notion-testspace/… what converting it produces
tests/notion/local/ gitignored, for test files that won't be committed
Run one importer's tests while working on it:
npm test -- notionTo record a new fixture's output, or update one after an intended change:
UPDATE_EXPECTED=1 npm test -- notionDebugging an issue someone reported? Drop their export in tests/<importer>/local/. It is gitignored, and so is the output, so you can work against a real file without committing it.
This plugin relies on important contributions:
- @akosbalasko for Evernote import via Yarle (MIT)
- @daledesilva for Google Keep import
- @arthurtyukayev for Bear import
- @xheldon for Notion API import and Airtable import
- @joshuatazrein for Notion file-based import
- @polyipseity for HTML attachments
- @8bitgentleman for Roam import
- @laughedelic for Logseq import
- @p3rid0t for Microsoft OneNote import
- @mirnovov for Apple Notes import
- @wzs for Apple Journal import