Validate a file and download examples
Check both the file's structure and its intended import destination. A JSON schema checks an individual record. The app checks the package, destination, and product limits. Review generated questions and answers for accuracy before studying them.
Comprehensive example
Download comprehensive.flashnerd to inspect two decks and five cards covering all 11 field types, folders, tags, media, SRS, all preset types, portable preferences, schedules, and history.
This archive is format demonstration data, including synthetic progress and settings. Inspect its records before importing; settings and preferences can affect your app, and turning on Include study progress imports the demonstration history. Keep Override existing off when inspecting a separate copy. Its tiny PNG and short silent WAV illustrate packaging, not useful study media. For new learning material, use the record definitions and omit study schedules and history.
For an existing deck, obtain its own Download Starter Template in the app instead of treating this example as a universal cards-only file. See Cards-only files.
Editable sources
The following files match the corresponding archive members. Keep the displayed paths when packaging them. A full JSON example on a reference page is expanded for reading; use these JSONL sources, or compact each record onto a single physical line.
Comprehensive package
- content/cards/00000.jsonl
- content/decks/00000.jsonl
- content/review_folders/00000.jsonl
- content/tags/00000.jsonl
- history/normal_reviews/00000.jsonl
- history/srs_reviews/00000.jsonl
- manifest.json
- media/pronunciation.wav
- media/station.png
- preferences/ai_instruction_presets/00000.jsonl
- preferences/card_template_presets/00000.jsonl
- preferences/search_presets/00000.jsonl
- preferences/srs_presets/00000.jsonl
- preferences/user.json
- progress/schedules/00000.jsonl
- srs/srs_folders/00000.jsonl
- srs/srs_sets/00000.jsonl
Each JSONL file may contain multiple records. Keep all referenced companion records when extracting a smaller example. The dependency table explains which files can stand alone. manifest.json may be omitted after edits; the importer ignores it.
Checks before importing
- Open the file as a ZIP and inspect its root. It must contain recognized paths such as
content/decks/decks.jsonl, notmy-folder/content/decks/decks.jsonl. - Parse every JSONL line as one JSON object. Check UTF-8, duplicate keys, escaped string newlines, and exact enum spelling.
- Resolve every relationship inside the archive. Match card value keys to field IDs and their types. Follow the separate destination-template rules for cards-only files.
- Check field-specific structures: rich text uses Delta arrays; cloze uses UTF-16 ranges; image occlusion uses normalized rectangles. Review inherited versus overridden settings.
- Include the actual referenced image/audio bytes under the exact
media/<filename>paths. Open the files to check that they are usable media. - Stay within the package limits, including the 20,000-card deck cap and 10,000-record JSONL file limit.
- Use the appropriate import preview, review warnings and sample cards, and confirm their content before saving.
An AI's statement that it checked a file is not proof of a completed app import. Ask it to report which checks it actually ran.
JSON schemas
These JSON schema files help editors and AI tools construct individual ordinary records. Download the related schemas together, preserving their filenames; their references resolve to sibling files.
- ai_instruction_preset.schema.json
- card.schema.json
- card_template_preset.schema.json
- deck.schema.json
- field_definition.schema.json
- field_settings.schema.json
- field_value.schema.json
- general_settings.schema.json
- manifest.schema.json
- normal_review.schema.json
- review_folder.schema.json
- schedule.schema.json
- search_preset.schema.json
- srs_folder.schema.json
- srs_preset.schema.json
- srs_review.schema.json
- srs_set.schema.json
- srs_settings.schema.json
- tag.schema.json
- user_preferences.schema.json
Schema default values document behavior; a schema validator does not insert those values into a record. Missing and explicit null are different unless the property allows null. Unknown properties are allowed by these schemas and ignored on import; they do not add app features or survive a later export.
The schemas describe individual record structures and limits on names, fields, and tags. Their string lengths count Unicode code points without trimming; see package limits for differences from package validation and app behavior. They cannot establish correct cross-file IDs, duplicate JSON keys, folder depth, matching template types, valid cloze ranges or rectangles, ZIP integrity, or complete settings semantics. field_settings.schema.json and deck modeSettings only describe objects; use field settings and deck settings for supported properties. Date and date-time formats require a validator with format checking enabled.
card.schema.json requires ordinary cards' deckId. It does not validate cards-only files, which omit deckId and require the selected destination template. Do not add a fake deckId to satisfy that schema. Check a cards-only file through the selected deck's Add Card preview. The shared field-definition schema permits omitted preset-field IDs, but deck fields and referenced TTS targets require explicit IDs.
Common failures
For errors during the app workflow, see import troubleshooting.