Flashcards

Spaced-repetition flashcards: Spanish to start, any deck of your own

palupdated 2026-09-29ProductivityIn pal's registry

Open in pal

In pal's registry: the button shows it in pal, which asks before installing; the command does the same from a terminal. This page can't see what your pal has installed.

Flashcards: A card turned over: the meaning, an example with the word marked, the article coloured by gender, and when each answer brings it back
A card turned over: the meaning, an example with the word marked, the article coloured by gender, and when each answer brings it back
Flashcards: The other way, typed: an accent left off counts, and shows where
The other way, typed: an accent left off counts, and shows where
Flashcards: The day's twentieth card: the goal met, the streak goes on
The day's twentieth card: the goal met, the streak goes on
Flashcards: Stats: the streak, the heatmap, the week ahead, each pack
Stats: the streak, the heatmap, the week ahead, each pack
Flashcards: The first run: pick the packs to practise, or bring your own
The first run: pick the packs to practise, or bring your own
1 of 5

What it does

Spaced repetition for the spare minute: flip a card, throw it right if you knew it and left if you did not, and the scheduler Anki uses decides when it comes back. Starts with the most common Spanish words, and takes any Anki deck or a file of your own.

  • space flips a card; → if you knew it, ← if not (or drag it)
  • FSRS, Anki's scheduler, decides when each card comes back; every answer is saved at once
  • Short sessions with a summary, then a drill of the ones you missed
  • Type the word once you recognise it; a missed accent counts and is shown
  • A daily goal, a streak and stats with a heatmap
  • Browse and add AnkiWeb's shared decks, or import .apkg, TSV, CSV or JSON

Palettes 4

  • Flashcardsflashcardsview

    Study what is due across the packs you practise; the day's summary when you are done.

    • ?Every key, for where you are
    • spaceFlip the card; flipped, Knew it (or what the typed answer earned)
    • →Knew it: the card flies right, back later
    • ←Didn't know: the card flies left, back in a minute
    • ↵On a typed card: check it (empty: show the answer)
    • ⇥Say it; on a typed card, the next letter (shift+tab: the example)
    • ⌘ZUndo the last answer
    • ⌘EWrite your own meaning for this card
    • SStats: streak, heatmap, the week ahead, each pack
    • DOn the summary: drill this session's misses
    • 1With four buttons: Didn't know, then 2 Barely, 3 Knew it, 4 Too easy
  • Flashcard Packsflashcard-packslive

    Every pack with how much of it you have mastered: study one, add it to practice or take it out, drill its weak cards.

    • ↵Study this pack
    • ⌘↵Add it to practice, or stop practising it (progress is kept)
    • ⌘RThe refresher for this pack
  • Add Flashcardflashcard-addinput

    Type front = back (gato = cat): the card goes into My cards, practised with the rest.

  • Browse Anki Decksflashcard-ankiinput

    Search AnkiWeb's shared decks: rating, cards, audio and pictures on each row, the description and sample cards beside it; Enter downloads the deck into your practice.

    • ↵Add to Flashcards (downloads it, then it joins your practice); added: study it
    • ⌘↵Open the deck's page on AnkiWeb

Settings

Extension, [extensions.flashcards]

new_per_day
15 number

How many cards you have never seen come in each day, across every pack you practise. Fewer new cards means fewer reviews later; Learn more on the day's summary adds ten for today.

session
10cards number

A session is this many answers, then a short summary with Keep going: a size that fits the wait for a build. 0 runs until nothing is due.

goal
20cards number

Answers a day that fill the ring and keep the streak going.

retention
90% (recommended) select

How much of what is due you should still remember when it comes back. Higher means more reviews: 90% is what FSRS recommends. One of 0.8, 0.85, 0.9, 0.95.

typing
On reverse cards select

Reverse cards (English to Spanish) ask you to type the answer, which is how a word moves from recognised to produced. Always types on every card; Never flips every card. One of reverse, always, never.

speak
Only on Tab select

The word in the language you are learning, with the system's voice for it (macOS: say; Linux: spd-say or espeak-ng). Tab says it again whatever this is. One of auto, key, off.

voice
empty text

A voice by name (macOS: Mónica, Paulina; `say -v ?` lists them). Empty picks the system's first voice for the pack's language.

buttons
Didn't know, Knew it select

Two: Didn't know and Knew it, which is all the scheduler needs. Four adds Barely and Too easy, as Anki's Hard and Easy. One of two, four.

sounds
On boolean
suggest
On boolean

Defaults shown. Change them in pal's settings window or in the config file.

The README

Everything Flashcards does, key by key, from the extension's own README.md

Flashcards

Spaced repetition for the minute a build takes. Enter on Flashcards lands on the next card due across every pack you practise; each answer is saved the moment you give it, so Escape at any point loses nothing and the next open carries on where you were. The first open asks what to learn.

The bundled packs are Spanish: the 6000 most common words (Jeff Doozan's 6001 Spanish deck), most used first, each with its gender, a short meaning and an example sentence; and everyday phrases. Any pack of your own works the same way (below).

Studying

A session is a card on a stack. The front shows the word; Space flips the card over to what it means, with an example sentence (the word marked in it). Then say whether you knew it, and the card flies off that way:

Key Answer The card
→, Space or Enter Knew it Flies right; comes back later, further apart each time
← Didn't know Flies left; comes back in a minute

The mouse can drag the card either way instead. With Buttons set to four, 1–4 are Didn't know, Barely, Knew it and Too easy (Anki's Again, Hard, Good, Easy). Each button says when the card comes back. The first dozen answers ever get a line of explanation, and the first open explains the loop in three steps.

Sessions are short. A session is 10 answers (Cards per session), counted by the bar along the top; the stack under the card thins as it runs out. Then a summary: how many right, how long, the words you missed, the new ones and any you mastered (as chips), and how much of everyday Spanish your words now cover, with what this session added. Enter keeps going with another 10, d drills this session's misses until each is right once, s the stats page.

A noun's article is coloured by gender (el blue, la rose), and the card carries the same colour along its top edge. ? lists every key. Tab says the word aloud (a deck's own recording if it has one, else the best system voice installed: Premium, then Enhanced; Stats says how to download a better one), (shift+Tab the example; Say it aloud can make it automatic), ⌘Z takes the last answer back (the card comes back from the left), ⌘E writes your own meaning for a card that the pack got wrong (kept for both directions), ⌘K lists the rest (suspend, learn more today, the refresher, mute).

Recognise first, then produce. A pack with reverse (both bundled ones) makes two cards of each word. The Spanish-to-English card comes first; once you have learned the word, its English-to-Spanish card joins the queue, and you type the answer. The check is kind where a learner is right in substance: case, punctuation and ¿¡ do not matter, any one of several meanings counts, and a missing accent, a missing article ("gato" for "el gato") or one slip in a longer word counts as close: the letters you typed are shown against the answer, and Enter takes the grade it earned (Knew it; Didn't know when wrong, or after more than one hint). Tab gives the next letter; a' types á, n~ ñ, u: ü, and the accents sit under the field to click. The two cards of one word never come on the same day.

The day. New cards come in pack order, 15 a day (New cards a day), one after every three reviews. Cards you are learning come back within the day (1 and 10 minutes, then days); when nothing else is left, one due in the next 20 minutes is shown early rather than ending the session. The day runs to 4 am. When everything is done, the summary: what you answered, what you mastered, how much of everyday speech the words you know cover, a heatmap of the last 16 weeks, what comes back tomorrow; n learns ten more today, r opens the refresher.

Goal and streak. The ring fills with the day's answers (Daily goal, 20); the streak counts the days in a row it was filled. Stats (s): the streak and your best, answers and time studied, how much of what came due you remembered this month, a 16-week heatmap, the next seven days' reviews, and each pack's mastered, learning and new.

The refresher drills the cards you keep missing: forgotten in the last week, forgotten three times or more, or below 80% recall now, weakest first, 20 at most. An Again sends a card three places back until you get it. It never changes a card's schedule: practising a card early teaches the scheduler nothing, so only a real review does.

Mastered is Anki's "mature": a card not due for three weeks or more. A card forgotten eight times is flagged as a tricky one: it needs a mnemonic, not more reviews.

Scheduling

FSRS, the scheduler Anki uses, through ts-fsrs (MIT): each card has a stability and a difficulty, and comes back when the chance you still remember it falls to Remember (90% by default; higher means many more reviews). Intervals are fuzzed a little so cards learned together spread out. Every answer is logged, which is what an FSRS optimiser would fit its weights to later.

Decks from AnkiWeb

Browse Anki Decks searches AnkiWeb's shared decks (the library the Anki app downloads from, thousands of them) as you type; with nothing typed it lists the decks for the language you are learning. Each row has the cards, whether it has audio and pictures, how many liked it and when it was updated; the pane beside it has the deck's description and a few sample cards as they would read here. Enter downloads the deck into the packs folder in the background and adds it to practice; the HUD says when it is in (a big deck with audio is 100 MB or more). Added, Enter studies it; ⌘Enter opens its page on AnkiWeb. The first open's b, Flashcard Packs and ⌘K while studying all lead here. No account is needed: it asks AnkiWeb's own service the way its site does.

Your own packs

Put a file in the packs folder (⌘K › Open the packs folder; ~/Library/Application Support/pal/flashcards/packs on macOS, $XDG_DATA_HOME/pal/flashcards/packs on Linux), then add it to practice from Flashcard Packs:

  • An Anki deck (.apkg), any from AnkiWeb or elsewhere: each note is a card, its fields matched by name (Front/Word/Spanish… to the front, Back/Meaning/English… to the back, a Sentence and its translation to the example), else the first two. The deck's own recordings come along and play on Tab, a native speaker over the system voice. Both Anki's older and its 2.1.50+ (zstd) exports read.
  • TSV, CSV or TXT: front, back, then optionally note, example, example_back per line; a first line naming those columns is a header. Anki's Export › Notes in Plain Text reads as is (# lines skipped, HTML stripped).
  • JSON: { "title", "description", "lang": { "front": "es", "back": "en" }, "reverse": true, "cards": [{ "front", "back", "note", "example", "example_back" }] }. lang picks the voice; reverse adds the typed cards.

A card is known by its id, else its front, so fixing a translation keeps its history. Add Flashcard takes one card at a time: gato = cat (or →, ;, a tab) goes into My cards, which joins practice.

Palettes and settings

  • Flashcards (view): study what is due; the root's Now section shows a row while cards are due (On opening pal).
  • Flashcard Packs: every pack with how much is mastered, learning and new, and how much of the language it covers; Enter studies that pack alone, ⌘Enter adds it to practice or takes it out (progress is kept), ⌘R its refresher.
  • Add Flashcard (input).

Settings: new cards a day, cards per session, daily goal, remember (desired retention), type the answer (reverse cards, always, never), say it aloud (when shown, on Tab, off; Tab by default), voice, buttons (Didn't know and Knew it, or four), sounds, on opening pal.

Progress lives in progress.json beside the packs folder, written whole and atomically after every answer.

The bundled data

The words are 6001 Spanish by Jeff Doozan: the most used Spanish lemmas (OpenSubtitles frequencies, lemmatised), with phrases where a word lives in one, common noise excluded, gender and part of speech, Wiktionary's senses with short flash-card glosses marked, and example sentences from Tatoeba's reviewed lists. tools/spanish.ts converts its last build (pinned to a commit): the short glosses without their asides, three senses at most, the example that uses the word as written at a readable length, and each word's share of spoken Spanish for the coverage figure. The phrases are written for the pack. Licenses and credits: packs/LICENSE.md.