Repeto Documentation
Browse documentation

Browse, search, and edit cards

Search the whole collection in cards or notes mode, combine filters, sort results, and apply safe bulk actions.

Open Card browser from the sidebar or command palette to search the entire collection. The browser has separate Cards and Notes modes, server-side sorting, stable pagination, structured search diagnostics, and selection that stays correct as more results load.

Cards mode returns one row for each generated card. Notes mode returns one row for the shared note and summarizes its sibling cards. Choose the mode that matches the action you intend to take: flags and schedules belong to cards, while fields, tags, and deletion belong to notes.

Search the collection

Type a query and choose Search. Bare text searches note fields. Multiple terms imply AND. You can also use explicit and, or, parentheses, a leading - to exclude a term, and double quotes around values containing spaces.

The current grammar supports:

  • named fields, such as Front:bonjour;
  • hierarchical decks with deck:"Spanish";
  • tags with tag:verb;
  • note types and card templates with note: and card:;
  • states with is:due, is:new, is:learn, is:review, is:suspended, or is:buried;
  • card flags with flag:0 through flag:7;
  • card and note IDs with cid: and nid:;
  • numeric properties for due state, interval, reviews, lapses, position, stability, and difficulty;
  • Unicode-aware whole-word search with w:dog, prefix search with w:dog*, and suffix search with w:*dog against visible HTML text;
  • FSRS retrievability comparisons from 0 through 1, such as prop:r<0.9;
  • recently added, edited, or rated records.

Retrievability uses each card’s deck-effective FSRS decay. Repeto freezes the evaluation time for a paginated result set, so loading the next page cannot change matches merely because a few seconds elapsed.

If a query is malformed or names an unknown field, Repeto highlights the relevant character range and explains how to repair it. Unsupported Anki operators are rejected explicitly instead of being silently treated as ordinary text.

The filter builder can append a deck, note type, or tag term without requiring you to remember the syntax. It edits the same query shown in the search box.

Sort and page through results

Cards can be sorted by modified or created time, due date, interval, review count, lapses, or flag. Notes can be sorted by modified time, next due card, average interval, review count, lapses, or sibling-card count. Sorting and filtering happen on the server before pagination, so loading the next page does not reorder only the visible rows.

Choose Load more to continue the same stable result set. The header reports both the loaded count and the full match count.

Select and act on results

Choose a checkbox, then Shift-click another checkbox to select a contiguous range among the loaded rows. Press Esc to clear the selection and / to focus collection search.

The browser supports:

  • suspending or unsuspending selected cards, or every sibling represented by selected notes;
  • burying selected cards or note siblings until the next scheduler day;
  • changing the note type of selected notes when they all share one standard source type;
  • changing deck, adding or removing tags, setting or clearing flags, repositioning new cards, setting a relative due date, and deleting notes through atomic bulk actions.

Change note type appears in Notes mode after you select notes that share one current note type. The full-page conversion flow maps fields and sibling cards, previews data loss and scheduling consequences, and requires exact confirmations before committing. Standard and Cloze conversions are supported; Image Occlusion has narrower API-only rules.

Deletion always uses note identity. It never leaves an arbitrary generated sibling behind. Bulk transformations accept at most 500 selected rows, validate the complete affected set, and commit atomically. Successful Browser transformations—including suspend, unsuspend, bury, and find and replace—create a private server receipt. Recent changes retains up to 100 receipts across navigation and reload; an unchanged operation remains undoable for 24 hours when the server reports Undo as available. Note-type conversion and Empty Cards keep their separate lifecycle workflows.

Open Recent changes to review transformation receipts after navigation or a reload. Receipts are private to your account, expire after 24 hours, and are limited to the latest 100 per account. Each entry is marked available, undone, expired, or unchanged. Undo appears only when the server confirms that reversing the operation is still conflict-safe.

Configure columns and save a view

Choose Columns to show or hide deck or note type, state, due, interval, reviews, lapses, and flag. Cards and Notes modes remember their visibility independently on this device. Column drag-to-reorder and arbitrary note-field columns are not available yet; use the sort control to choose result order.

Saved searches belong to your account. A saved view stores the query, mode, sort, and visible columns, and can be loaded, replaced with the current definition, or deleted. Direct rename is available through the API but not yet in the web dialog.

Find and replace

Find and replace works on one field shared by the selected notes. Literal mode treats both inputs exactly as entered. Regular-expression mode is opt-in, supports Anki-style $name, ${name}, and $$ replacement expansion, and reports syntax errors next to the pattern. Every mode shows the exact before/after preview before committing. The fingerprinted preview rejects stale data and a successful change offers conflict-safe Undo. If the replacement changes which Standard, Cloze, or Image Occlusion cards the note should generate, Repeto updates those sibling cards in the same transaction and restores the full prior topology on Undo when no later edit conflicts.

The operation is limited to 500 distinct notes. Repeto also bounds the pattern length, field data scanned, match count, output size, and execution time so a pathological expression cannot monopolize the service. Regex applies only to the selected common field; replacing tags, every field at once, or all query results without selecting them remains unavailable.

Find duplicate notes

Duplicate groups contain notes of the same note type whose complete field content normalizes to the same value. Repeto normalizes Unicode, visible HTML text, media tokens, case, and whitespace, then paginates groups deterministically.

Select a group and choose one note to keep. The dialog shows each note’s decks, card count, and review count. You can first tag every note in selected groups with duplicate, or explicitly delete only the notes that are not keepers. Both actions use the normal conflict-safe Undo contract. Repeto never combines schedules or review histories automatically.

Search inside a deck

Open a deck and type in its search field. The query is debounced and sent to the collection API, so later pages are searched as you type rather than only the visible rows.

Use the filter control to combine the text query with:

  • card state: new, learning, review, or suspended;
  • one tag from the loaded result set;
  • image present or missing;
  • newest, oldest, front A–Z, or front Z–A sorting.

State, tag, and image filters currently refine the pages loaded in the deck view. Load more results when you need those local filters to cover a larger deck.

Select several deck rows

Enable selection, choose the first checkbox, then Shift-click a later checkbox to select the contiguous range. The selection bar stays at the bottom so row actions remain visible while the list scrolls.

Available bulk actions depend on the current deck. They include deletion and image attachment for supported note types. Deletion is note-scoped and therefore removes sibling cards generated from each selected note.

Press Esc to clear selection. Selection is pruned when filters or server updates remove a row from the visible result.

Edit one note

Choose a row to open its note editor. Fields come from the note type and tags remain attached to the note. Preview the rendered card before saving changes to HTML-heavy or imported templates.

Press Command-K on macOS or Ctrl-K on other platforms. Type to find destinations, common actions, and decks. Use Up/Down to change the active result and Enter to run it. Escape closes the palette and restores focus to its opener.

Deck names are fuzzy matched, so a partial name can open or study a deck without navigating the hierarchy manually.

Current search limits

Repeto does not yet implement every Anki search operator. Accent-insensitive, rendered-cloze, regular-expression search, preset, introduced-card, and custom-data operators are rejected with a diagnostic. This search limitation is separate from the bounded regular-expression mode available in Find and replace. Browser transformation receipts are durable and discoverable in Recent changes, including available, undone, expired, and unchanged operations.

Do not assume every expression copied from Anki works unchanged. The Anki parity roadmap tracks the unsupported grammar and bulk workflows separately.