For AI agents: the complete documentation index is available at https://docs.flashnerd.com/llms.txt, the full documentation bundle is available at https://docs.flashnerd.com/llms-full.txt, and this page is available as Markdown at https://docs.flashnerd.com/reference/flashnerd-format/index.md.
Skip to main content

Flashnerd file format

A .flashnerd file is an unencrypted ZIP archive containing structured records and, when needed, image or audio files. This reference defines the archive paths, record properties, field types, and relationships used to construct an importable file.

How the data fits together

Record collections use UTF-8 JSONL, with one complete JSON object per physical line. Use the exact archive paths, such as content/decks/ and content/cards/, without an extra enclosing folder. Portable user preferences use a single JSON object instead. See package rules for the exact paths, required properties, and limits.

A deck includes its template: field IDs, names, types, sides, and settings. Each card supplies its own content in a values map keyed by those field IDs, with matching value types. Ordinary card records use deckId to reference a deck included in the archive. Other record relationships also use explicit IDs, with companions determined by the dependency rules.

Find a definition

ReferenceDefines
Package rules and dependenciesZIP layout, JSONL, IDs, required input, dates, limits, and optional manifest metadata
Decks and templatesDeck records, field definitions, deck settings, and preset selections
Card recordsCard identities, deck references, value maps, tags, and overrides
Field values and settingsAll field types, their content structures, and inherited or overridden settings
Images and audioBundled media files and the paths used to reference them
Folders and tagsFolder hierarchy, deck placement, and tag records
SRS collections and settingsSRS folders, sets, linked decks, and scheduling settings
Preset recordsCard-template, SRS, search, and AI-instruction presets
Portable preferencesSupported user preferences and their values
Schedules and historyExported study progress, review events, and restoration requirements
Exact enum valuesAccepted strings and numeric enum values
Validation and downloadsPackage checks, schemas, a comprehensive example, and common failures

Choose the import context

For an ordinary archive, use the record definitions above and include each record's required companions. A new deck needs its field definitions; its cards reference that deck and those fields. Packages can also contain supported presets or preferences without a deck. The dependency table defines which collections can stand alone.

For cards targeting an existing deck, follow Cards-only files. Use that deck's Download Starter Template to obtain its field IDs and types. Cards-only files omit deck records and each card's deckId; the destination template supplies the context.

For new learning material, omit study schedules and history. When restoring genuine exported progress, follow Schedules and history. App steps for either import destination are in Import Flashnerd files.

Use with an AI tool

Give the AI this overview's URL or Copy Markdown content, the relevant record and field references, and your content requirements. For an existing deck, also supply its downloaded starter. The linked definitions describe the supported structures; choose the field types that suit the material.

Use the JSON schemas to check individual records and the validation checklist to check the package and its intended destination. Schemas alone cannot establish valid relationships across files or compatibility with an existing deck. Ask the tool to report which checks it actually performed, then review the content and import preview.