# ankitects/anki

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ankitects-anki).**

28,571 stars · 3,006 forks · Rust · NOASSERTION

## Links

- GitHub: https://github.com/ankitects/anki
- Homepage: https://apps.ankiweb.net
- awesome-repositories: https://awesome-repositories.com/repository/ankitects-anki.md

## Description

Anki is a cross-platform flashcard management system designed to optimize long-term memory retention through spaced-repetition learning. It functions as a digital learning assistant that uses active recall practice and automated scheduling algorithms to determine the ideal timing for card reviews based on individual performance history. The core system relies on a local relational database to ensure data persistence and portability, while supporting complex study workflows through flexible note-type schema modeling and template-driven content rendering.

The platform distinguishes itself through deep extensibility and content customization. Users can modify core application behavior and scheduling logic via a plugin-based framework or by implementing custom scheduling models. The interface supports rich media integration, including audio, images, and text-to-speech, which can be styled using HTML and CSS templates to suit specific subjects. Advanced users can further tailor the environment with dynamic script embedding, custom note types, and specialized card layouts like cloze deletions or image occlusions.

Beyond its core scheduling capabilities, the software provides a comprehensive suite of tools for managing large collections of study material. This includes hierarchical deck organization, tag-based content management, and advanced search and filtering utilities. The system also offers robust observability features, such as detailed performance analytics, study progress visualization, and tools for identifying and managing problematic study items.

Anki facilitates consistent learning across multiple devices through a built-in synchronization protocol that merges collection data and media assets. The application is distributed as a compiled build and includes extensive configuration options for display rendering, input methods, and system integration to ensure compatibility across various desktop environments.

## Tags

### Education & Learning Resources

- [Flashcards](https://awesome-repositories.com/f/education-learning-resources/educational-resources/reference-and-media/tutorials-media-curated-lists/interactive-learning-media/flashcards.md) — Provides a comprehensive system for managing flashcard content, including hierarchical decks, custom note types, and rich media integration.
- [Spaced Repetition Systems](https://awesome-repositories.com/f/education-learning-resources/spaced-repetition-systems.md) — Calculates optimal review intervals for individual cards based on performance history to maximize long-term memory retention.
- [Practice Implementations](https://awesome-repositories.com/f/education-learning-resources/curricula-instructional-design/learning-methodologies-exercises/active-recall-mechanisms/practice-implementations.md) — Anki prompts users to retrieve information from memory before revealing the answer to strengthen long-term retention and identify knowledge gaps. ([source](https://docs.ankiweb.net/print.html))
- [Flashcards](https://awesome-repositories.com/f/education-learning-resources/flashcards.md) — Provides a comprehensive system for creating, organizing, and managing flashcard collections with custom note types.
- [Optimization Algorithms](https://awesome-repositories.com/f/education-learning-resources/spaced-repetition-systems/maximum-interval-settings/optimization-algorithms.md) — Anki calculates the ideal time to re-test material based on past performance to maximize long-term memory retention. ([source](https://docs.ankiweb.net/print.html))
- [Cloze Deletion Generators](https://awesome-repositories.com/f/education-learning-resources/cloze-deletion-generators.md) — Hides specific words or sections within a sentence or image to test knowledge of context-dependent information. ([source](https://docs.ankiweb.net/print.html))
- [Digital Learning Assistants](https://awesome-repositories.com/f/education-learning-resources/digital-learning-assistants.md) — Functions as a digital learning assistant that manages study workloads and automates the presentation of learning materials.
- [Recall Difficulty Evaluators](https://awesome-repositories.com/f/education-learning-resources/active-recall-exercises/recall-difficulty-evaluators.md) — Anki evaluates memory retention by allowing users to select from multiple response options that determine the timing of future reviews. ([source](https://docs.ankiweb.net/studying.html))
- [Answer Input Validation](https://awesome-repositories.com/f/education-learning-resources/answer-input-validation.md) — Provides an input field for typing answers and highlights differences against correct content. ([source](https://docs.ankiweb.net/templates/fields.html))
- [Daily Workload Schedulers](https://awesome-repositories.com/f/education-learning-resources/daily-workload-schedulers.md) — Anki allows users to modify card intervals to reduce the number of due cards on specific days for a more flexible study schedule. ([source](https://docs.ankiweb.net/deck-options.html))
- [Learning Step Configurations](https://awesome-repositories.com/f/education-learning-resources/spaced-repetition-systems/learning-step-configurations.md) — Anki provides tools to define sequences of time delays for learning repetitions to control how frequently cards reappear during the initial acquisition phase. ([source](https://docs.ankiweb.net/deck-options.html))

### Data & Databases

- [Learning Progress Synchronization](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage/metadata-state-management/chat-history-synchronization/learning-progress-synchronization.md) — Synchronizes learning progress and media assets across multiple devices to maintain consistent study states.
- [Cross-Device Synchronization Engines](https://awesome-repositories.com/f/data-databases/data-synchronization/cross-device-synchronization-engines.md) — Maintains consistent study progress and collection state across multiple devices through a dedicated synchronization engine. ([source](https://docs.ankiweb.net/backups.html))
- [Collection Exports](https://awesome-repositories.com/f/data-databases/data-import-and-export/collection-exports.md) — Packages entire datasets and associated media into portable files for migration or backup. ([source](https://docs.ankiweb.net/exporting.html))
- [Deck Archivers](https://awesome-repositories.com/f/data-databases/data-import-and-export/collection-exports/deck-archivers.md) — Packages cards, notes, and media into portable files for sharing and backup purposes. ([source](https://docs.ankiweb.net/exporting.html))
- [Scheduling Update Controls](https://awesome-repositories.com/f/data-databases/data-synchronization-configurations/scheduling-update-controls.md) — Controls the preservation or resetting of review history and card intervals during data imports. ([source](https://docs.ankiweb.net/importing/packaged-decks.html))
- [Media Asset Managers](https://awesome-repositories.com/f/data-databases/storage-abstraction/local-filesystem-storage/media-asset-managers.md) — Manages and synchronizes media assets like audio and images to ensure they remain available across all devices. ([source](https://docs.ankiweb.net/syncing.html))
- [Backup and Recovery](https://awesome-repositories.com/f/data-databases/backup-and-recovery.md) — Creates periodic local snapshots of card text and scheduling data to allow for recovery from accidental deletions. ([source](https://docs.ankiweb.net/backups.html))
- [Database Backup Restoration](https://awesome-repositories.com/f/data-databases/data-governance-modeling/data-management-governance/backup-recovery-systems/database-backup-restoration.md) — Enables the restoration of collection states from manual backups to recover from data loss or configuration errors. ([source](https://docs.ankiweb.net/backups.html))
- [Relational Local Storage](https://awesome-repositories.com/f/data-databases/storage-engines/relational-local-storage.md) — Stores all user collections, scheduling history, and metadata in a local database file to ensure data persistence and portability.
- [Collection Merging](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-extraction-ingestion/data-import-and-export/csv-import-managers/collection-merging.md) — Implements a robust protocol to reconcile and merge collection changes and media assets across multiple devices and local instances.
- [Tabular Data Exports](https://awesome-repositories.com/f/data-databases/data-import-and-export/tabular-data-exports.md) — Exports note content into structured, tab-separated files for external editing and re-importing. ([source](https://docs.ankiweb.net/exporting.html))
- [Database Optimization Tools](https://awesome-repositories.com/f/data-databases/database-optimization-tools.md) — Provides utilities for verifying database integrity, rebuilding internal structures, and optimizing collection performance. ([source](https://docs.ankiweb.net/files.html))
- [External Data Access](https://awesome-repositories.com/f/data-databases/external-data-access.md) — Loads flashcards and media from text files or packaged deck files to expand study material from external sources. ([source](https://docs.ankiweb.net/print.html))
- [Leech Management](https://awesome-repositories.com/f/data-databases/visitor-identification/leech-management.md) — Automatically identifies and suspends problematic study items that frequently cause lapses. ([source](https://docs.ankiweb.net/leeches.html))

### Scientific & Mathematical Computing

- [Spaced Repetition Models](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing/scheduling-algorithms/spaced-repetition-models.md) — Anki enables the replacement of standard repetition algorithms with custom models to optimize memory retention based on specific user requirements. ([source](https://docs.ankiweb.net/deck-options.html))
- [Mathematical Typesetting](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/mathematical-typesetting-engines/mathematical-typesetting.md) — Converts mathematical notation into visually formatted equations for flashcard display. ([source](https://docs.ankiweb.net/math.html))

### System Administration & Monitoring

- [Study Performance Tracking](https://awesome-repositories.com/f/system-administration-monitoring/analytics-tracking/study-performance-tracking.md) — Tracks study progress and forecasts future workloads using detailed retention metrics and review history visualization.
- [User Profile Management](https://awesome-repositories.com/f/system-administration-monitoring/user-profile-management.md) — Maintains separate collections and settings for different users to ensure independent study environments. ([source](https://docs.ankiweb.net/print.html))
- [Review History Visualization](https://awesome-repositories.com/f/system-administration-monitoring/analytics-tracking/review-history-visualization.md) — Visualizes study progress through graphs and charts showing review counts, retention rates, and future workloads. ([source](https://docs.ankiweb.net/stats.html))

### User Interface & Experience

- [Template Field Renderers](https://awesome-repositories.com/f/user-interface-experience/field-customization/template-field-renderers.md) — Displays stored note field content by injecting field names into card templates. ([source](https://docs.ankiweb.net/templates/fields.html))
- [Query Interfaces](https://awesome-repositories.com/f/user-interface-experience/cards/query-interfaces.md) — Enables filtering of cards and notes using text, field-specific criteria, and logical operators. ([source](https://docs.ankiweb.net/searching.html))
- [Workflow Extenders](https://awesome-repositories.com/f/user-interface-experience/customizable-workspaces/workflow-extenders.md) — Extends study functionality through custom scheduling algorithms, plugin frameworks, and template-driven card generation.
- [Card Layouts](https://awesome-repositories.com/f/user-interface-experience/card-layouts.md) — Defines the structure and visual styling of flashcards using markup and styles to control how information is presented. ([source](https://docs.ankiweb.net/templates/intro.html))
- [Lifecycle Management](https://awesome-repositories.com/f/user-interface-experience/cards/card-flags/lifecycle-management.md) — Anki allows users to adjust the review lifecycle of cards through manual flagging, suspension, or resetting to manage backlogs and focus. ([source](https://docs.ankiweb.net/studying.html))
- [Status-Based Queues](https://awesome-repositories.com/f/user-interface-experience/cards/card-flags/status-based-queues.md) — Identifies cards based on learning status to manage study queues effectively. ([source](https://docs.ankiweb.net/searching.html))
- [Content Hints](https://awesome-repositories.com/f/user-interface-experience/chart-components/collapsible-widgets/content-hints.md) — Provides interactive elements to hide and reveal field content on demand during study sessions. ([source](https://docs.ankiweb.net/templates/fields.html))
- [Performance Metric Filters](https://awesome-repositories.com/f/user-interface-experience/cards/card-metadata-inspection/performance-metric-filters.md) — Allows filtering cards based on performance metrics like interval, ease, and lapse count. ([source](https://docs.ankiweb.net/searching.html))
- [Template Metadata Injectors](https://awesome-repositories.com/f/user-interface-experience/cards/card-metadata-inspection/template-metadata-injectors.md) — Includes system-generated information like tags and deck names directly on card templates. ([source](https://docs.ankiweb.net/templates/fields.html))
- [Card Styling](https://awesome-repositories.com/f/user-interface-experience/cards/card-styling.md) — Applies custom styles to control fonts, colors, layout, and background properties across all cards or specific note types. ([source](https://docs.ankiweb.net/templates/styling.html))
- [Deck Management Utilities](https://awesome-repositories.com/f/user-interface-experience/cards/empty-card-cleaners/deck-management-utilities.md) — Anki provides tools to organize and select collections of flashcards for review using hierarchical subdecks and keyboard-based navigation. ([source](https://docs.ankiweb.net/studying.html))
- [Image Occlusion Tools](https://awesome-repositories.com/f/user-interface-experience/data-display-components/content-cards/image-occlusion-tools.md) — Hides specific regions of an image to test visual recognition and knowledge of details. ([source](https://docs.ankiweb.net/editing.html))
- [Card Flags](https://awesome-repositories.com/f/user-interface-experience/cards/card-flags.md) — Applies visual markers to individual cards to highlight them for later attention or temporary study sets. ([source](https://docs.ankiweb.net/editing.html))
- [Data Table Customizations](https://awesome-repositories.com/f/user-interface-experience/data-display-components/data-table-customizations.md) — Displays cards in a configurable table with support for column selection, sorting, and rapid switching. ([source](https://docs.ankiweb.net/browsing.html))
- [Study Deck Filters](https://awesome-repositories.com/f/user-interface-experience/search-filtering-logic/study-deck-filters.md) — Provides logic for creating temporary study collections based on dynamic search criteria. ([source](https://docs.ankiweb.net/filtered-decks.html))

### Business & Productivity Software

- [Cross-Platform Applications](https://awesome-repositories.com/f/business-productivity-software/cross-platform-applications.md) — Provides a consistent desktop application experience across multiple operating systems with synchronized data.
- [Custom Note Schemas](https://awesome-repositories.com/f/business-productivity-software/knowledge-content-creation/knowledge-information-management/knowledge-management/structured-note-taking/custom-note-schemas.md) — Allows users to define unique data structures for flashcards by adding, removing, or reordering fields to suit specific study subjects. ([source](https://docs.ankiweb.net/editing.html))
- [Priority-Based Sequencers](https://awesome-repositories.com/f/business-productivity-software/review-card-sequencers/priority-based-sequencers.md) — Anki determines the sequence of card presentation based on deck hierarchy, priority, and the urgency of learning items. ([source](https://docs.ankiweb.net/studying.html))
- [Review Workload Caps](https://awesome-repositories.com/f/business-productivity-software/review-workload-caps.md) — Anki enables users to cap the number of new or review cards shown each day to prevent study fatigue and manage workload. ([source](https://docs.ankiweb.net/deck-options.html))
- [Note Tagging](https://awesome-repositories.com/f/business-productivity-software/note-taking-search/note-tagging.md) — Organizes and categorizes study notes using flexible, multi-label tagging systems for complex filtering. ([source](https://docs.ankiweb.net/editing.html))
- [Duplicate Note Detectors](https://awesome-repositories.com/f/business-productivity-software/personal-notes/duplicate-note-detectors.md) — Scans note fields to identify and manage redundant study information across decks. ([source](https://docs.ankiweb.net/browsing.html))
- [Sibling Burying](https://awesome-repositories.com/f/business-productivity-software/note-taking-applications/study-notes/automated-card-generation/sibling-burying.md) — Anki delays the appearance of related cards to ensure they do not appear in the same study session. ([source](https://docs.ankiweb.net/deck-options.html))
- [Jitter Injection](https://awesome-repositories.com/f/business-productivity-software/review-card-sequencers/jitter-injection.md) — Anki introduces minor timing variations to card schedules to prevent multiple cards from consistently appearing in the same review session. ([source](https://docs.ankiweb.net/studying.html))
- [Study Progression Automators](https://awesome-repositories.com/f/business-productivity-software/study-progression-automators.md) — Anki advances through study cards automatically after a set duration to maintain a consistent pace during review sessions. ([source](https://docs.ankiweb.net/deck-options.html))

### Content Management & Publishing

- [Content Authoring and Editing](https://awesome-repositories.com/f/content-management-publishing/authoring-editorial-interfaces/content-authoring-editing.md) — Provides a centralized interface to browse, filter, and modify notes and cards across the entire collection. ([source](https://docs.ankiweb.net/print.html))
- [Media Management](https://awesome-repositories.com/f/content-management-publishing/media-management.md) — Copies images and audio files into a centralized folder to ensure they remain portable and available for backups. ([source](https://docs.ankiweb.net/media.html))
- [Ruby Annotation Filters](https://awesome-repositories.com/f/content-management-publishing/ruby-annotation-filters.md) — Renders pronunciation annotations above base text using ruby character syntax. ([source](https://docs.ankiweb.net/templates/fields.html))

### Web Development

- [Template-Driven Rendering](https://awesome-repositories.com/f/web-development/rendering-templating/server-side-rendering/template-driven-rendering.md) — Uses an embedded browser engine to dynamically render flashcard content by injecting field data into HTML and CSS templates.
- [Rich Text Editors](https://awesome-repositories.com/f/web-development/rich-text-editors.md) — Provides a built-in editor for embedding rich media and formatted text directly into flashcard fields. ([source](https://docs.ankiweb.net/editing.html))

### DevOps & Infrastructure

- [Private Synchronization Servers](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-applications/private-synchronization-servers.md) — Provides a dedicated backend for hosting private synchronization services without relying on public cloud infrastructure. ([source](https://docs.ankiweb.net/sync-server.html))

### Software Engineering & Architecture

- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures.md) — Provides a hook-based framework that allows third-party code to modify core scheduling logic, interface elements, and application behavior.
- [Review History Trackers](https://awesome-repositories.com/f/software-engineering-architecture/date-fields/filtering/temporal-activity-filters/review-history-trackers.md) — Locates cards based on their history of additions, edits, and review answers. ([source](https://docs.ankiweb.net/searching.html))

### Graphics & Multimedia

- [Text-to-Speech Engines](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/audio-processing-systems/audio-processing/text-to-speech-engines/text-to-speech-engines.md) — Synthesizes speech from text fields using system-provided voices with configurable settings. ([source](https://docs.ankiweb.net/templates/fields.html))
- [Template Integrations](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/audio-processing-systems/audio-processing/text-to-speech-engines/template-integrations.md) — Integrates audio, images, and text-to-speech into card templates to support diverse learning styles. ([source](https://docs.ankiweb.net/print.html))

### Security & Cryptography

- [Credential Storage](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/session-and-credential-handling/credential-security-utilities/credential-storage.md) — Protects authentication data using password hashing and configurable storage settings. ([source](https://docs.ankiweb.net/sync-server.html))

### Development Tools & Productivity

- [Extensible Application Frameworks](https://awesome-repositories.com/f/development-tools-productivity/extensible-application-frameworks.md) — Provides a framework for integrating custom schedulers, templates, and external guides to modify core application behavior. ([source](https://docs.ankiweb.net/addons.html))
- [Template Scripting](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/templating-engines/dynamic-templates/template-scripting.md) — Integrates custom logic into card templates to enable interactive elements or advanced dynamic content during review. ([source](https://docs.ankiweb.net/templates/styling.html))
