Getting Started Installing & Updating Study Modes Flashcard Mode Matching Mode Type-In Mode Card Types Images Creating Datasets Importing & Exporting Organizing Files Marketplace Keyboard Shortcuts Dark Mode Troubleshooting & FAQ Version Control

Getting Started

StudyRoom is a free desktop flashcard application with multiple study modes, LaTeX math support, and a built-in dataset builder. It works entirely offline — no account or internet connection required.

When you first open StudyRoom, you'll see the sidebar on the left with your datasets and the main study area on the right. Select a dataset (or multiple) from the sidebar to start studying. Use the mode dropdown in the toolbar to switch between study modes.


Installing & Updating

Downloading

Visit the StudyRoom website and click the download button. It will automatically detect your operating system and offer the correct installer. You can also find all releases (including older versions) on the GitHub Releases page.

Installing

  • macOS — Open the downloaded .dmg file. Drag StudyRoom to your Applications folder. On first launch, right-click the app and select Open (only needed once for unsigned apps).
  • Windows — The download is a portable .exe. Run it directly — no installation wizard needed.
  • Linux — Make the .AppImage file executable (chmod +x) and run it.

Updating

StudyRoom checks for updates automatically when you launch the app. When a new version is available, you'll see a prompt with the new version number and release notes. You can choose to download and install, skip this version, or be reminded later. Updates are never forced — you're always in control.

Where is my data?

All your datasets, images, and settings are stored locally on your computer:

  • macOS~/Library/Application Support/study-room/data/
  • Windows%APPDATA%\study-room\data\
  • Linux~/.config/study-room/data/

Your data is never sent anywhere. Uninstalling the app does not delete your data — it stays in place if you reinstall.

Study Modes

StudyRoom has three study modes, each designed for a different style of review. You can switch between them using the mode dropdown in the toolbar or with keyboard shortcuts 1 2 3.

You can select multiple datasets from the sidebar to study them together. All selected datasets are combined into a single deck, which you can then shuffle, filter by starred cards, or study in any mode. This is useful for reviewing related topics in one session.

Flashcard Mode

The classic study experience. View the front of a card, then flip to see the back. Use arrow keys or click to navigate between cards.

  • Press / or click the card to flip
  • Press / to navigate between cards
  • Press S to star or unstar a card
  • Enable Flip Mode to reverse each card — see the back side first, then flip to reveal the front
  • Any "extra" context notes appear in an amber box after flipping

For procedure cards, flipping reveals the first step. Press Enter or to reveal subsequent steps one at a time. For cluster cards, all items are revealed at once in a horizontal grid. For code cards, the front shows the prompt and the language to use — press C or click the editor to type your solution, then flip to see checkpoint badges and a side-by-side comparison with the reference answer.

Flip Mode

Flip Mode reverses every card in your deck: the back side is shown first, and you flip to see the front. This is useful for bidirectional study — for example, if your cards have vocabulary terms on the front and definitions on the back, Flip Mode lets you practice going from definition to term. Enable it using the Flip toggle in the toolbar. Note that procedure and cluster cards remain front-facing in Flip Mode since they have complex multi-step backs.

Matching Mode

A memory-style matching game. All cards show as tiles (fronts and backs shuffled together). Click two tiles to try to match them. Note that procedure, cluster, and code cards are excluded from matching mode.

  • Tile sizes: Switch between S/M/L in the toolbar to control tile dimensions
  • Shuffle: Rearranges only unmatched tiles (matched tiles sink to the bottom)
  • Restart: Fully resets the round with new tile generation
  • Star: Hover any tile to reveal a star button for toggling
  • Win state shows "Great Job!" with a Play Again button

Type-In Mode

Active recall practice. Type your answer and submit to see if you got it right. Only cards with short text or simple LaTeX answers are included (images and long answers are filtered out).

  • Press Enter to submit your answer
  • Press (cursor at end of text) to skip to the next card
  • Press after submitting to redo the same card
  • Context notes appear after submission in an amber box
  • Progress counter shows {completed}/{total} in the top-left

Procedure cards in type-in mode require you to type each step one at a time. Cluster cards use a 3-strikes mechanic: type answers in any order, but after 3 wrong guesses the card auto-finishes and reveals the remaining items. Code cards work like their flashcard counterparts — type your solution, then review to see the checkpoint badges and side-by-side comparison with the reference.


Card Types

StudyRoom supports several content types for both front and back sides of cards. Each side can be a different type.

Text

Plain text content. Supports inline LaTeX using $$...$$ delimiters for mixing math into regular text.

Math (LaTeX)

Explicit LaTeX content, rendered via KaTeX. Use this for equations, formulas, and proofs. The Dataset Builder provides a preview toggle to see rendered output.

Image

Displays an image from your dataset's image folder. Use the built-in image picker to select images you've imported.

Procedure (back side only)

An ordered list of steps, each with its own type and content. Steps reveal one at a time in flashcard mode and are typed step-by-step in type-in mode. Perfect for lab procedures, multi-step mechanisms, or sequential processes.

Cluster (back side only)

An unordered set of 1–5 items, each with its own type and content. All items are revealed at once in flashcard mode. In type-in mode, you type answers in any order with a 3-strikes mechanic. Great for "name all X" style questions.

Code (back side only)

A programming exercise with a reference solution. The front shows a prompt and the language to use; you type your code in a built-in editor (with bracket auto-closing, auto-indent, and syntax highlighting), then flip to compare it side-by-side with the reference answer and see which key concepts (checkpoints) you hit. Works in flashcard and type-in modes and is excluded from matching. Ideal for computer science practice, where there's rarely a single "correct" string to match.


Images

StudyRoom supports attaching images to flashcards. Here's how image handling works:

Importing Images

Import images through the sidebar Import button or by dragging files from your desktop. Supported formats: PNG, JPG, SVG, GIF, and WebP. Images are automatically saved to a dedicated images/ folder inside your StudyRoom data directory.

Automatic Organization

When you import images while inside a folder, they go to the nearest images/ subfolder. If you import while viewing the root or a non-images folder, images go to the top-level images/ directory. You can also create subfolders inside images/ to organize them further.

Referencing Images in Cards

When creating a card in the Dataset Builder, set the content type to "Image" and use the built-in image picker. It shows a searchable dropdown of all images in your images/ folder with thumbnail previews. Selecting one sets the path automatically.

How Paths Work

Image paths in datasets are relative — for example images/photo.svg or images/anatomy/heart.png. StudyRoom uses a custom protocol (studyroom://) to resolve these paths to your data directory. This means datasets with images are portable — if you export a dataset and its images, they'll work on another machine when placed in the same structure.


Creating Datasets

You can create datasets in several ways:

Using the Dataset Builder

Select "Dataset Builder" from the mode dropdown (or press 4). This opens a blank template where you can:

  • Name your dataset
  • Add cards with the type dropdown (Text, Math, Image for front; Text, Math, Image, Procedure, Cluster, Code for back)
  • Attach context notes (the "extra" field) to any card
  • Hide draft cards with the eye toggle without deleting them

Advanced Editing Modal

Click the SlidersHorizontal icon (next to Save) in the builder toolbar to open the Advanced Editing modal. This provides bulk operations for managing large datasets efficiently:

  • Reset Visibility — One-click "Unhide All Cards" to make every hidden card visible again
  • Bulk Visibility — Exclude or include only specific cards by their index numbers (1-based, comma-separated)
  • Bulk Type Change — Change the content type (Text/Math/Image) for the front or back of all or specific cards at once
  • Swap Front/Back — Swap the front and back content of all or specific cards (procedure and cluster cards are skipped)
  • Delete Cards — Remove multiple cards at once by index. Requires confirmation. At least one card must remain.

All index-based sections accept comma-separated card numbers (e.g., 1,3,5-8). The modal stays open after applying changes so you can make multiple edits.

Importing Files

Click the Import button in the sidebar or drag files from your desktop. Supported formats:

  • JSON — StudyRoom dataset files (validated on import)
  • CSV / XLSX — Two-column spreadsheets (column 1 = front, column 2 = back, no headers)
  • Images — PNG, JPG, SVG, GIF, WebP (saved to your images folder)

Using the AI Dataset Maker

The companion Dataset Maker tool (included in the StudyRoom project) can generate flashcard datasets from topics or PDFs using the Gemini API. It outputs JSON files compatible with StudyRoom.


Importing & Exporting

Importing Datasets

Click the Import button in the sidebar or drag files from your desktop onto the sidebar. StudyRoom accepts:

  • JSON — StudyRoom dataset files. Files are validated on import — each card must have valid front/back objects with type and content fields. You'll get specific error messages if something is wrong.
  • CSV / XLSX — Two-column spreadsheets (column 1 = front, column 2 = back, no headers). All cards are created as text type. A new JSON file is written alongside the original.
  • Images — PNG, JPG, SVG, GIF, WebP. Saved to the images/ folder automatically.

You can also import directly into a specific folder by right-clicking the folder and selecting "Import Here."

Exporting Datasets

Right-click any user-created dataset and select "Export as CSV." This converts all cards to a spreadsheet format. LaTeX content is exported as source code, images as file paths, procedure cards produce one column per step, and cluster cards produce one column per item. Platform-origin datasets (curated starter sets) cannot be exported.


Organizing Files

The sidebar provides a file tree with full management capabilities:

  • Folders: Create, rename, and delete folders to organize datasets
  • Drag and drop: Drag files and folders to reorganize. Drop external files from your desktop to import
  • Context menu: Click the "..." button on hover for rename, export, delete, and more
  • Multi-select: Select multiple datasets to study them combined
  • Export: Export user-created datasets as CSV for sharing

Marketplace

The Marketplace is an in-app store where you can browse curated flashcard datasets. Access it by clicking the Store icon in the toolbar.

Browsing

Browse datasets in a grid view with search filtering. Each listing shows the dataset name, price, card count, and a description. Click "View Details" to see a preview.

Previews

Each listing includes 4 preview cards. The front side is visible; the back is blurred with a lock icon. Full content is revealed after purchase.

Purchasing

The purchase flow is currently in development. When available, purchased datasets will download directly to your data directory and appear in the sidebar ready to use.


Keyboard Shortcuts

StudyRoom is designed to be used entirely with the keyboard. Here's the full reference:

Global Shortcuts

Key Action
SStar / unstar current card
FToggle starred-only filter
RShuffle / unshuffle deck
1Switch to Flashcard mode
2Switch to Matching mode
3Switch to Type-In mode
4Switch to Dataset Builder

Flashcard Mode

Key Action
/ / EnterFlip card / reveal next step
/ Previous / next card

Type-In Mode

Key Action
EnterSubmit / next card / next step / play again
Redo current card
Skip to next card (cursor at end of text)

Dark Mode

Toggle between light and dark themes using the sun/moon switch in the toolbar. Your preference is saved and persists between sessions.

On first launch, StudyRoom matches your operating system's color scheme preference. All components, including LaTeX math rendering, adapt to the current theme.


Troubleshooting & FAQ

The app won't open on macOS

If you see a "cannot be opened because it is from an unidentified developer" message, right-click the app and select Open. You'll only need to do this once.

My imported file was rejected

StudyRoom validates every JSON file on import. Make sure each card has a front object and a back object, each with type and content fields. The error message will tell you exactly which card is invalid and why.

Images aren't showing up

Image paths in datasets are relative to your images/ folder. Make sure the image files are in the correct subfolder and that the path in the card matches exactly (case-sensitive).

Can I sync data between devices?

StudyRoom stores all data locally. There is no built-in sync feature yet. You can manually copy the data folder between devices or export datasets as JSON/CSV and import them on another machine.

Version Control

Successive versions of Study Room will be backwards compatible. This means if you ever want to revert to an older version, you may download old releases. Note, this may make you vulnerable to security issues as we update our software or potentially limit your access to new features.

Previous Study Room versions can be found in this git repo.