html2notion is an incredibly useful tool written in Python, which allows you to import content from HTML documents into Notion notes, making it more convenient for you to organize information on the Notion platform. In addition, html2notion has been specifically optimized for the content of Evernote, and you can also use it to import notes from Evernote into Notion.
html2notion has powerful features and supports converting various tags in HTML files into corresponding Blocks in Notion, such as rich text blocks, headings, images, code blocks, quotes, links, etc. Below are examples of converting notes from Evernote into Notion pages.
You only need 3 steps to use htmlnotion to import HTML into Notion.
Click the link notion template. As shown in the image below, use the "Duplicate" button to copy a new database to your own Notion workspace.
Requires python>=3.8, install the html2notion library. You can use the pip command to install it:
pip install html2notion
We need to use the Notion API key
and Database ID
to authorize html2notion to access the Notion database. Please follow these steps:
When sharing the database here, you need to choose the previously duplicated database because the import operation requires some preset properties information in this database.
For specific methods, please refer to the Notion official documentation create an integration.
After the setup is complete, write your API Key and database ID into a configuration file config.json.
{
"notion": {
"database_id": "<***demo***>",
"api_key": "<***demo***>"
}
}
You can use html2notion -h
to view detailed help documentation.
usage: html2notion [-h] --conf CONF [--log LOG] [--batch BATCH] (--file FILE | --dir DIR)
Html2notion: Save HTML to your Notion notes quickly and easily, while keeping the original format as much as possible
options:
-h, --help show this help message and exit
--conf CONF conf file path
--log LOG log direct path
--batch BATCH batch save concurrent limit
--file FILE Save single html file to notion
--dir DIR Save all html files in the dir to notion
For example, if you want to import all html files in the ./demos
directory into Notion, you can use the following command:
html2notion --conf config.json --dir ./demos --log ~/logs --batch 10
The above command will import all html files in the ./demos
directory into Notion, while outputting logs to the ~/logs
directory, with up to 10 concurrent tasks.
You can find more information and examples in the html2notion library's Issue: html2notion
If you find any errors or have any suggestions for improvement, please do not hesitate to submit a pull request or raise an issue, I am more than happy to accept your contributions and feedback!
If you encounter import failures, you can submit the html file and log file together in the issue for easier problem identification.
If there are any private information in the files, please remove it first.
This project uses the MIT license. Please refer to the LICENSE for details.