Notion2Anki

AnkiWeb addon 644963660

Fork of Notion Toggles Loader

1 other version of this addon exists. Compare versions ↓

Loads Notion toggle lists as Anki notes into different decks, converting toggle titles and content into cards, with tags, clozes, and background or manual sync.
AI-generated summary; may contain mistakes.

importsync-integrationobsoletefork-or-reupload

Open on AnkiWeb GitHub Find alternatives

AnkiWeb

Votes
7 (πŸ‘ 4 Β· πŸ‘Ž 3)
Updated
2026-09-08
Anki versions
2.1.1~
License
GPL-3.0 (from the GitHub repository)
Virus scan
No ClamAV match A match does not prove malware. No match does not prove that the code is safe.
Languages
Python, CSS, SCSS, Handlebars, JSON, JavaScript
Description language
en

Maintenance

active

  • Last update or commit: 2026-09-08 (54 days before the snapshot).
  • Test files: 1.
  • GitHub Actions workflows: 1.
  • Commits in the last year: 0.
  • Issues are turned off.
  • Pull requests: 0 open, 0 merged.

Will it work on my Anki?

Version branches
Min AnkiMax AnkiUpdated
2.1.1+2026-09-08
History across monthly snapshots

Loading…

Compare versions

The original addon and its forks. The best value in each column is in bold.

VersionWorks on Anki 26.09.3MaintenanceLast activity VotesApprovalGitHub starsNotes
Notion Toggles Loader original likely abandoned 11 Jun 2024 πŸ‘ 22 Β· πŸ‘Ž 4 66% 65
↳ Notion2Anki this addon supported active 8 Sep 2026 πŸ‘ 4 Β· πŸ‘Ž 3 25% 2 obsolete

Forks can add features or work in a different way. Read the description before you change to another version. Fork detection is incomplete, so other versions can exist.

Similar addons

Notion Toggles to Anki

Converts Notion toggle blocks into Anki questions, importing multiple pages into separate decks via the official Notion API, with recursion, rich content support, and GUI configuration.

card-creationimportsync-integration

16 votes 81% approval πŸ‘ 16 Β· πŸ‘Ž 0 Anki 25.02~ Updated 2025-03-13

Description

Currently, this addon is no longer being maintained, and future maintenance will primarily focus on Notion2Anki2.

An Anki addon that loads toggle lists from Notion as notes to different deck.

This project is forked from notion-anki-sync. I've made enhancements to the original project and added the following features:

  • Adding Notes from Different Pages to Different Anki Decks

Here are two screenshots demonstrating the rendering of code blocks and formula blocks from Notion, as well as the rendering of bold text style and background color. image_formula image_code

How it works

The general process involves initially exporting the page content as HTML, followed by converting the HTML into Flask cards for importing into their respective decks. Specifically:

  1. You provide a set of Notion page IDs to export.
  2. Each "toggle list" block from Notion will be transformed into an Anki note.
  3. The title of the toggle block becomes the front side, and its content becomes the back side.
  4. Lines starting with #tags are parsed as tags.
  5. Toggles can be ignored by prefixing the toggle title with the ❕ symbol (type ":!" in Notion and select the white one).
  6. Clozes can be added using code blocks within toggle titles. The backside will be ignored (except for tags).

Synchronization can work in the background or can be triggered manually from the NotionSync submenu in the Tools section. Note that background sync does not remove any notes; if you want to remove the obsolete notes, then trigger Load and remove obsolete from the submenu.

Requirements

Notion API token

To get Notion API token log in to Notion via a browser (assuming Chrome here), then press Ctrl+Shift+I to open Developer Tools, go to the "Application" tab and find token_v2 under Cookie on the left.

Notion page ids

To get Notion page id open up the page in a browser and look at the address bar. 32 chars of gibberish after a page title is the page id: https://www.notion.so/notion_user/My-Learning-Book-8a775ee482ab43732abc9319add819c5 ➑ 8a775ee482ab43732abc9319add819c5

Edit plugin config file from Anki: Tools ➑ Add-ons ➑ Notion Toggles Loader ➑ Config

{
  "debug": false,
  "sync_every_minutes": 30,
  "notion_token": "<your_notion_token_here>",
  "notion_namespace": "<your_notion_username_here",
  "notion_pages": [
    {
      "page_id": "<page_id1>",
      "recursive": false,
      "target_deck": "<deck_1>"
    },
    {
      "page_id": "<page_id2>",
      "recursive": true,
      "target_deck": "<deck_2>"
    }
  ]
}

Configuration parameters

  • debug: bool [default: false] β€” enable debug logging to file.
  • sync_every_minutes: int [default: 30] β€” auto sync interval in minutes. Set to 0 to disable auto sync.
  • notion_token: str [default: None] β€” Notion APIv2 token.
  • notion_namespace: str [default: None] β€” Notion namespace (your username) to form source URLs.
  • notion_pages: array [default: [] ] β€” List of Notion pages to export notes from.
    • page_id: 32 chars of Notion page id.,
    • recursive: If true, Page should be exported with all its subpages.,
    • target_deck: The target deck is a string attribute that specifies the name of the deck where loaded notes will be added. If multiple page_ids refer to the same target_deck, their corresponding notes will be combined and added to the same target_deck.

Known issues & limitations

Behind the scenes, the addon initiates Notion pages export to HTML, then parses the HTML into notes. Since non-public Notion API is used, the addon may break without a warning.

  • As for now, LaTeX and plain text cannot be used in the same cloze: Notion puts them in separate code tags which leads to the creation of two cloze blocks.

  • Some toggle blocks are empty on export which leads to empty Anki notes. The issue is on the Notion side (and they're aware of it).

  • The color of the code block cannot be rendered.

README

Notion2Anki addon

Supported versions License: GPL v3 Codestyle: Black

An Anki addon that loads toggle lists from Notion as notes to different deck.

This project is forked from notion-anki-sync. I've made enhancements to the original project and added the following features:

  • Adding Notes from Different Pages to Different Anki Decks

Here are two screenshots demonstrating the rendering of code blocks and formula blocks from Notion, as well as the rendering of bold text style and background color. we alt text

How it works

The general process involves initially exporting the page content as HTML, followed by converting the HTML into Flask cards for importing into their respective decks. Specifically:

  1. You provide a set of Notion page IDs to export.
  2. Each "toggle list" block from Notion will be transformed into an Anki note.
  3. The title of the toggle block becomes the front side, and its content becomes the back side.
  4. Lines starting with #tags are parsed as tags.
  5. Toggles can be ignored by prefixing the toggle title with the ❕ symbol (type ":!" in Notion and select the white one).
  6. Clozes can be added using code blocks within toggle titles. The backside will be ignored (except for tags).

Synchronization can work in the background or can be triggered manually from the NotionSync submenu in the Tools section. Note that background sync does not remove any notes; if you want to remove the obsolete notes, then trigger Load and remove obsolete from the submenu.

This add-on has been added to AnkiWeb. For instructions on how to use it, please visit Notion2Anki.

Requirements

Notion API token

To get Notion API token log in to Notion via a browser (assuming Chrome here), then press Ctrl+Shift+I to open Developer Tools, go to the "Application" tab and find token_v2 under Cookie on the left.

Notion page ids

To get Notion page id open up the page in a browser and look at the address bar. 32 chars of gibberish after a page title is the page id: https://www.notion.so/notion_user/My-Learning-Book-8a775ee482ab43732abc9319add819c5 ➑ 8a775ee482ab43732abc9319add819c5

Edit plugin config file from Anki: Tools ➑ Add-ons ➑ Notion Toggles Loader ➑ Config

{
  "debug": false,
  "sync_every_minutes": 30,
  "notion_token": "<your_notion_token_here>",
  "notion_namespace": "<your_notion_username_here",
  "notion_pages": [
    {
      "page_id": "<page_id1>",
      "recursive": false,
      "target_deck": "<deck_1>"
    },
    {
      "page_id": "<page_id2>",
      "recursive": true,
      "target_deck": "<deck_2>"
    }
  ]
}

Configuration parameters

  • debug: bool [default: false] β€” enable debug logging to file.
  • sync_every_minutes: int [default: 30] β€” auto sync interval in minutes. Set to 0 to disable auto sync.
  • notion_token: str [default: None] β€” Notion APIv2 token.
  • notion_namespace: str [default: None] β€” Notion namespace (your username) to form source URLs.
  • notion_pages: array [default: [] ] β€” List of Notion pages to export notes from.
    • page_id: 32 chars of Notion page id.,
    • recursive: If true, Page should be exported with all its subpages.,
    • target_deck: The target deck is a string attribute that specifies the name of the deck where loaded notes will be added. If multiple page_ids refer to the same target_deck, their corresponding notes will be combined and added to the same target_deck.

Known issues & limitations

Behind the scenes, the addon initiates Notion pages export to HTML, then parses the HTML into notes. Since non-public Notion API is used, the addon may break without a warning.

  • As for now, LaTeX and plain text cannot be used in the same cloze: Notion puts them in separate code tags which leads to the creation of two cloze blocks.

  • Some toggle blocks are empty on export which leads to empty Anki notes. The issue is on the Notion side (and they're aware of it).

  • The color of the code block cannot be rendered.