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
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.