PageSourceSearch

https://repeat.cards/pricing

html repeat.cards collected 2026-10-02 01:19:10 UTC 63,074 bytes, 2 lines download raw bytes

1<!DOCTYPE html><!--jGR7k12xiQEPfKBUWMMjB--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="/logo_32.png"/><link rel="stylesheet" href="/_next/static/chunks/5238d6ffd234ff4a.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/0198a3dae028e8a7.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/e4081de7d6b0da99.js"/>
1<script src="/_next/static/chunks/cc759f7c2413b7ff.js" async=""></script>
1<script src="/_next/static/chunks/af5eb9d7c6a262b0.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-624ea308362fc467.js" async=""></script>
1<script src="/_next/static/chunks/9b6af269bdb8c51f.js" async=""></script>
1<script src="/_next/static/chunks/24b118631e774bf5.js" async=""></script>
1<script src="/_next/static/chunks/130dadb472d88d6e.js" async=""></script>
1<script src="/_next/static/chunks/5f0141a37f2cb804.js" async=""></script>
1<script src="/_next/static/chunks/a9ce8f2bd3c14f0e.js" async=""></script>
1<script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script>
1<script src="/_next/static/chunks/7340adf74ff47ec0.js" async=""></script>
1<meta name="next-size-adjust" content=""/><meta name="theme-color" media="(prefers-color-scheme: light)" content="#f8fafc"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0b1120"/><title>Pricing: Free Flashcards, Coins for AI | repeat.cards</title><meta name="description" content="repeat.cards is free to use. AI features run on coins: every account gets some free, and more come in one-off packs. No subscription, and coins never expire."/><meta name="author" content="repeat.cards"/><meta name="keywords" content="flashcard app,free flashcard app,spaced repetition flashcards,FSRS flashcards,language learning flashcards,vocabulary flashcards,language learning app,spaced repetition,vocabulary trainer,memory cards"/><meta name="robots" content="index, follow"/><link rel="canonical" href="https://repeat.cards/pricing"/><meta property="og:title" content="Pricing: Free Flashcards, Coins for AI | repeat.cards"/><meta property="og:description" content="repeat.cards is free to use. AI features run on coins: every account gets some free, and more come in one-off packs. No subscription, and coins never expire."/><meta property="og:url" content="https://repeat.cards/pricing"/><meta property="og:image" content="https://repeat.cards/og-image.png"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Pricing: Free Flashcards, Coins for AI | repeat.cards"/><meta name="twitter:description" content="repeat.cards is free to use. AI features run on coins: every account gets some free, and more come in one-off packs. No subscription, and coins never expire."/><meta name="twitter:image" content="https://repeat.cards/og-image.png"/><link rel="icon" href="/favicon.ico?favicon.15cc37b7.ico" sizes="256x256" type="image/x-icon"/><link rel="icon" href="/icon.png?icon.3227eea0.png" sizes="32x32" type="image/png"/>
1<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://repeat.cards/#organization","name":"repeat.cards","url":"https://repeat.cards","logo":"https://repeat.cards/icon.png"},{"@type":"WebSite","@id":"https://repeat.cards/#website","url":"https://repeat.cards","name":"repeat.cards","description":"A flashcard app for language learners. FSRS spaced repetition schedules every review at the moment you would forget. AI turns each word into a full card — audio, example sentence, mnemonic, image. 100+ languages, any level. Free today.","publisher":{"@id":"https://repeat.cards/#organization"},"inLanguage":"en"},{"@type":"SoftwareApplication","@id":"https://repeat.cards/#app","name":"repeat.cards","url":"https://repeat.cards","applicationCategory":"EducationalApplication","operatingSystem":"Web, Android","installUrl":"https://play.google.com/store/apps/details?id=cards.repeat.app","description":"A flashcard app for language learners. FSRS spaced repetition schedules every review at the moment you would forget. AI turns each word into a full card — audio, example sentence, mnemonic, image. 100+ languages, any level. Free today.","offers":{"@type":"Offer","price":"0","priceCurrency":"EUR"},"featureList":["FSRS spaced repetition","Bidirectional review with independent scheduling per side","AI-generated mnemonics, audio, example sentences, and images, paid for in coins, with free coins at sign-up and your own OpenAI or Google keys accepted instead","Language-specific fields: articles, plurals, verb conjugations","100+ supported languages including regional variants","Free Android app sharing one account and one schedule with the website","Free Anki collection import (.colpkg) that preserves review history"]}]}</script>
1<script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script>
1</head><body class="inter_5972bc34-module__OU16Qa__className generalsans_e555531b-module__Kal2IG__variable ibm_plex_mono_25fe9eca-module__WU9wEq__variable"><div hidden=""><!--$--><!--/$--></div>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script>
1<div class="flex flex-col min-h-screen"><header class="sticky z-50 w-full border-b border-border-default/60 bg-surface/80 backdrop-blur-md" style="top:0;padding-top:env(safe-area-inset-top, 0px)"><div class="page-container-wide"><div class="flex h-16 items-center justify-between gap-2"><a class="font-bold tracking-tight flex items-center gap-2 min-h-9 text-xl sm:text-2xl flex-shrink-0" href="/"><img src="/logo_32.png" alt="repeat.cards logo" width="32" height="32" class="object-contain w-8 h-8"/><span class="gradient-text">repeat.cards</span></a><nav class="flex items-center gap-1 sm:gap-2"><span><div class="h-9 w-9" aria-hidden="true"></div></span><div class="animate-spin rounded-full border-current border-t-transparent w-4 h-4 border-2 text-subtle-fg" role="status" aria-label="Loading"><span class="sr-only">Loading...</span></div></nav></div></div></header><main class="flex-1"><div class="mk">
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Is repeat.cards free?","acceptedAnswer":{"@type":"Answer","text":"Yes. Making decks, making cards, training and the spaced repetition schedule are all free and have no limit. Coins pay only for the optional AI features, and every account starts with a free allowance of them."}},{"@type":"Question","name":"Is this a subscription?","acceptedAnswer":{"@type":"Answer","text":"No. Every purchase is a one-off. Nothing renews, nothing is charged again, and there is nothing to cancel."}},{"@type":"Question","name":"Do coins expire?","acceptedAnswer":{"@type":"Answer","text":"No. Coins stay on your balance for as long as your account exists, whether you spend them tomorrow or next year."}},{"@type":"Question","name":"What happens when I run out?","acceptedAnswer":{"@type":"Answer","text":"The AI features stop until you top up, and everything else goes on working exactly as before. Your decks, your cards and your review schedule are not affected."}},{"@type":"Question","name":"Can I use my own AI provider keys instead?","acceptedA
1nswer":{"@type":"Answer","text":"Yes. You can put your own OpenAI or Google keys into the app and pay your provider directly instead of buying coins. An account on its own keys spends no coins at all."}},{"@type":"Question","name":"Can I get a refund?","acceptedAnswer":{"@type":"Answer","text":"Write to us within 14 days of buying and we refund the coins still on your balance. Coins you have already spent are not refunded, because the work they paid for has already been done."}}]}</script>
1<section class="border-b border-[var(--mk-line)]"><div class="page-container pt-14 pb-14 sm:pt-20 sm:pb-20"><div class="content-medium reveal"><p class="mk-stamp">Pricing</p><h1 class="mk-display mt-7 text-[2.1rem] sm:text-[2.7rem] lg:text-[3.1rem] leading-[1.08]">Free to use. Coins for the AI.</h1><p class="mt-6 max-w-2xl text-lg sm:text-xl leading-relaxed text-muted-fg">Decks, cards, training and the review schedule cost nothing. The AI features run on coins — every account starts with a free allowance, and you can buy more when it runs out.</p><div class="mt-9 flex flex-col sm:flex-row gap-4 sm:items-center"><a class="mk-btn" href="/register">Start free</a><a class="mk-btn-ghost" href="/anki-alternative">Coming from Anki?</a></div></div></div></section><section class="py-12 sm:py-16 bg-surface"><div class="page-container"><div class="content-medium marketing-content text-secondary"><div data-testid="direct-answer" class="not-prose mk-card mk-answer p-6 pl-8 sm:p-7 sm:pl-9 mb-12 text-lg leading-relaxed text-secondary">repeat.cards is free. There is no paid plan and no subscription. The only thing you can buy is coins, which pay for the optional AI features — translating a word, analysing it, writing usage examples, checking a typed answer, making a mnemonic, speaking it aloud and drawing a picture of what it means. Every account starts with a free allowance of them.</div><h2>What coins cost</h2><div data-testid="comparison-cards" class="not-prose my-8 space-y-3 sm:hidden"><div class="rounded-xl border border-border-default p-4"><p class="font-semibold text-foreground"><span class="inline-flex items-center gap-2.5"><svg aria-hidden="true" viewBox="0 0 16 16" class="flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400" fill="none"><circle cx="8" cy="8" r="7" fill="currentColor"></circle><circle cx="8" cy="8" r="5" stroke="#fff" stroke-opacity="0.5" stroke-width="1"></circle><path d="M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6" stroke="#fff" stroke-opacity="0.85" stroke-width="1.2" stroke-linecap="round"></path></svg><span class="tabular-nums">5,000</span></span></p><dl class="mt-2 space-y-2 text-sm"><div><dt class="text-xs font-semibold uppercase tracking-[0.06em] text-subtle-fg">Price</dt><dd class="text-muted-fg"><span>€<!-- -->5.99</span></dd></div></dl></div><div class="rounded-xl border border-border-default p-4"><p class="font-semibold text-foreground"><span class="inline-flex items-center gap-2.5"><svg aria-hidden="true" viewBox="0 0 16 16" class="flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400" fill="none"><circle cx="8" cy="8" r="7" fill="currentColor"></circle><circle cx="8" cy="8" r="5" stroke="#fff" stroke-opacity="0.5" stroke-width="1"></circle><path d="M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6" stroke="#fff" stroke-opacity="0.85" stroke-width="1.2" stroke-linecap="round"></path></svg><span class="tabular-nums">12,000</span></span></p><dl class="mt-2 space-y-2 text-sm"><div><dt class="text-xs font-semibold uppercase tracking-[0.06em] text-subtle-fg">Price</dt><dd class="text-muted-fg"><span>€<!-- -->11.99</span></dd></div></dl></div><div class="rounded-xl border border-border-default p-4"><p class="font-semibold text-foreground"><span class="inline-flex items-center gap-2.5"><svg aria-hidden="true" viewBox="0 0 16 16" class="flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400" fill="none"><circle cx="8" cy="8" r="7" fill="currentColor"></circle><circle cx="8" cy="8" r="5" stroke="#fff" stroke-opacity="0.5" stroke-width="1"></circle><path d="M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6" stroke="#fff" stroke-opacity="0.85" stroke-width="1.2" stroke-linecap="round"></path></svg><span class="tabular-nums">26,000</span></span></p><dl class="mt-2 space-y-2 text-sm"><div><dt class="text-xs font-semibold uppercase tracking-[0.06em] text-subtle-fg">Price</dt><dd class="text-muted-fg"><span>€<!-- -->23.99</span></dd></div></dl></div><div class="rounded-xl border border-border-default p-4"><p class="font-semibold text-foreground"><span class="inline-flex items-center gap-2.5"><svg aria-hidden="true" viewBox="0 0 16 16" class="flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400" fill="none"><circle cx="8" cy="8" r="7" fill="currentColor"></circle><circle cx="8" cy="8" r="5" stroke="#fff" stroke-opacity="0.5" stroke-width="1"></circle><path d="M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6" stroke="#fff" stroke-opacity="0.85" stroke-width="1.2" stroke-linecap="round"></path></svg><span class="tabular-nums">70,000</span><span class="rounded-full px-2 py-0.5 text-xs font-medium bg-primary-100 text-primary-800 dark:bg-primary-900/70 dark:text-primary-200">Best value</span></span></p><dl class="mt-2 space-y-2 text-sm"><div><dt class="text-xs font-semibold uppercase tracking-[0.06em] text-subtle-fg">Price</dt><dd class="text-muted-fg"><span>€<!-- -->59.99</span></dd></div></dl></div></div><div data-testid="comparison-table" class="my-8 hidden sm:block overflow-x-auto rounded-xl border border-border-default"><table class="w-full text-left text-sm border-collapse"><caption class="sr-only">Coin packages and their prices</caption><thead><tr class="bg-muted"><th scope="col" class="px-4 py-3 font-semibold text-foreground border-b border-border-default ">Coins</th><th scope="col" class="px-4 py-3 font-semibold text-foreground border-b border-border-default ">Price</th></tr></thead><tbody><tr class="even:bg-muted/50"><td class="px-4 py-3 align-top border-b border-border-subtle font-medium text-foreground "><span class="inline-flex items-center gap-2.5"><svg aria-hidden="true" viewBox="0 0 16 16" class="flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400" fill="none"><circle cx="8" cy="8" r="7" fill="currentColor"></circle><circle cx="8" cy="8" r="5" stroke="#fff" stroke-opacity="0.5" stroke-width="1"></circle><path d="M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6" stroke="#fff" stroke-opacity="0.85" stroke-width="1.2" stroke-linecap="round"></path></svg><span class="tabular-nums">5,000</span></span></td><td class="px-4 py-3 align-top border-b border-border-subtle text-muted-fg "><span>€<!-- -->5.99</span></td></tr><tr class="even:bg-muted/50"><td class="px-4 py-3 align-top border-b border-border-subtle font-medium text-foreground "><span class="inline-flex items-center gap-2.5"><svg aria-hidden="true" viewBox="0 0 16 16" class="flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400" fill="none"><circle cx="8" cy="8" r="7" fill="currentColor"></circle><circle cx="8" cy="8" r="5" stroke="#fff" stroke-opacity="0.5" stroke-width="1"></circle><path d="M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6" stroke="#fff" stroke-opacity="0.85" stroke-width="1.2" stroke-linecap="round"></path></svg><span class="tabular-nums">12,000</span></span></td><td class="px-4 py-3 align-top border-b border-border-subtle text-muted-fg "><span>€<!-- -->11.99</span></td></tr><tr class="even:bg-muted/50"><td class="px-4 py-3 align-top border-b border-border-subtle font-medium text-foreground "><span class="inline-flex items-center gap-2.5"><svg aria-hidden="true" viewBox="0 0 16 16" class="flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400" fill="none"><circle cx="8" cy="8" r="7" fill="currentColor"></circle><circle cx="8" cy="8" r="5" stroke="#fff" stroke-opacity="0.5" stroke-width="1"></circle><path d="M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6" stroke="#fff" stroke-opacity="0.85" stroke-width="1.2" stroke-linecap="round"></path></svg><span class="tabular-nums">26,000</span></span></td><td class="px-4 py-3 align-top border-b border-border-subtle text-muted-fg "><span>€<!-- -->23.99</span></td></tr><tr class="even:bg-muted/50"><td class="px-4 py-3 align-top border-b border-border-subtle font-medium text-foreground "><span class="inline-flex items-center gap-2.5"><svg aria-hidden="true" viewBox="0 0 16 16" class="flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400" fill="none"><circle cx="8" cy="8" r="7" fill="currentColor"></circle><circle cx="8" cy="8" r="5" stroke="#fff" stroke-opacity="0.5" stroke-width="1"></circle><path d="M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6" stroke="#fff" stroke-opacity="0.85" stroke-width="1.2" stroke-linecap="round"></path></svg><span class="tabular-nums">70,000</span><span class="rounded-full px-2 py-0.5 text-xs font-medium bg-primary-100 text-primary-800 dark:bg-primary-900/70 dark:text-primary-200">Best value</span></span></td><td class="px-4 py-3 align-top border-b border-border-subtle text-muted-fg "><span>€<!-- -->59.99</span></td></tr></tbody></table></div><p><strong>Prices are shown in euro, tax included.</strong> The exact amount you pay is set at checkout: outside the euro area it is converted into your currency, and local taxes can make it higher or lower than the figure above. Inside the Android app, Google Play shows its own price for your country before you confirm.</p><p>Every purchase is a one-off. Nothing renews and there is nothing to cancel. Coins never expire, and a bought coin and a free one are the same thing once they are on your balance — nothing decides which gets spent first.</p><h2>You do not have to buy anything</h2><p>There are two other routes. You can use repeat.cards without the AI features at all — the flashcards, the training and the schedule are the product, and they are free. Or you can bring your own provider keys and pay OpenAI or Google directly, in which case the app spends no coins on your behalf and the allowance stops applying to you.</p><div class="not-prose mt-14"><h2 class="mk-display text-2xl sm:text-3xl text-foreground mb-8 leading-[1.15]">Frequently asked</h2><div class="mk-faq"><details><summary><span>Is repeat.cards free?</span><span class="mk-faq-sign" aria-hidden="true"></span></summary><div class="mk-faq-answer">Yes. Making decks, making cards, training and the spaced repetition schedule are all free and have no limit. Coins pay only for the optional AI features, and every account starts with a free allowance of them.</div></details>
1<details><summary><span>Is this a subscription?</span><span class="mk-faq-sign" aria-hidden="true"></span></summary><div class="mk-faq-answer">No. Every purchase is a one-off. Nothing renews, nothing is charged again, and there is nothing to cancel.</div></details><details><summary><span>Do coins expire?</span><span class="mk-faq-sign" aria-hidden="true"></span></summary><div class="mk-faq-answer">No. Coins stay on your balance for as long as your account exists, whether you spend them tomorrow or next year.</div></details><details><summary><span>What happens when I run out?</span><span class="mk-faq-sign" aria-hidden="true"></span></summary><div class="mk-faq-answer">The AI features stop until you top up, and everything else goes on working exactly as before. Your decks, your cards and your review schedule are not affected.</div></details><details><summary><span>Can I use my own AI provider keys instead?</span><span class="mk-faq-sign" aria-hidden="true"></span></summary><div class="mk-faq-answer">Yes. You can put your own OpenAI or Google keys into the app and pay your provider directly instead of buying coins — see<!-- --> <a href="/api-keys">how to get your API keys</a>. An account on its own keys spends no coins at all.</div></details><details><summary><span>Can I get a refund?</span><span class="mk-faq-sign" aria-hidden="true"></span></summary><div class="mk-faq-answer">Write to us within 14 days of buying and we refund the coins still on your balance. Coins you have already spent are not refunded, because the work they paid for has already been done. The full wording is on the<!-- --> <a href="/refunds">refunds page</a>.</div></details></div></div></div></div></section><section data-testid="closing-cta" class="py-20 sm:py-24"><div class="page-container"><div class="mk-panel px-6 py-16 sm:px-12 sm:py-20 text-center"><h2 class="mk-display mx-auto max-w-2xl text-[1.85rem] sm:text-[2.4rem] leading-[1.1]">Start with the free allowance</h2><p class="mk-soft mt-5 text-lg max-w-xl mx-auto">Make an account, build a deck, and try the AI features on the coins you are given. Nothing to enter and nothing to cancel.</p><a class="mk-btn mt-9" href="/register">Create a free account</a><p class="mk-mono mk-soft mt-7 text-xs uppercase tracking-[0.08em]">No card required.</p></div></div></section><section data-testid="related-links" class="py-12 sm:py-16 border-t border-[var(--mk-line)]"><div class="page-container"><div class="content-medium"><h2 class="mk-display text-xl text-foreground mb-8">Keep reading</h2><div class="grid sm:grid-cols-2 gap-x-7 gap-y-8"><a class="mk-card block p-5 transition-transform hover:-translate-x-px hover:-translate-y-px focus-visible:outline-3 focus-visible:outline-[var(--mk-violet)] focus-visible:outline-offset-2" href="/refunds"><p class="font-semibold text-foreground mb-1">Refunds</p><p class="text-sm text-muted-fg">Change your mind within 14 days and we refund the coins still on your balance.</p></a><a class="mk-card block p-5 transition-transform hover:-translate-x-px hover:-translate-y-px focus-visible:outline-3 focus-visible:outline-[var(--mk-violet)] focus-visible:outline-offset-2" href="/api-keys"><p class="font-semibold text-foreground mb-1">How to get your API keys</p><p class="text-sm text-muted-fg">Prefer to pay your provider directly? Where each key comes from and what to enable.</p></a><a class="mk-card block p-5 transition-transform hover:-translate-x-px hover:-translate-y-px focus-visible:outline-3 focus-visible:outline-[var(--mk-violet)] focus-visible:outline-offset-2" href="/terms"><p class="font-semibold text-foreground mb-1">Terms of Service</p><p class="text-sm text-muted-fg">What we provide, what you agree to, and what happens when either of us walks away.</p></a></div></div></div></section></div><!--$--><!--/$--></main><footer class="font-display border-t border-border-default/60 bg-surface/50 backdrop-blur-sm"><div class="page-container-wide py-6"><nav aria-label="Features" class="mb-5 pb-5 border-b border-border-default/60 flex flex-wrap items-center justify-center sm:justify-start gap-x-6 gap-y-2.5"><span class="text-xs font-semibold uppercase tracking-[0.08em] text-subtle-fg">Features</span><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/ai-flashcards">AI flashcards</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/spaced-repetition">Spaced repetition</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/grammar-flashcards">Grammar flashcards</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/type-the-answer">Typed answers</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/capture-words">Capture words</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/vocabulary-app">Vocabulary app</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/best-flashcard-app-language-learning">Best flashcard app for languages</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/with-duolingo">Use with Duolingo</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/ask-about-a-word">Ask about a word</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/review-forecast">Review forecast</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/android">Android app</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/ios">iPhone app</a></nav><div class="flex flex-col sm:flex-row items-center justify-between gap-4"><p class="text-sm text-muted-fg">© <!-- -->2026<!-- --> repeat.cards</p><div class="flex flex-wrap items-center justify-center gap-x-6 gap-y-2.5"><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/anki-alternative">For Anki users</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/import-anki-deck">Import from Anki</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/api-keys">API keys</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/pricing">Pricing</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/refunds">Refunds</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/privacy">Privacy</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/terms">Terms</a><a class="text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap" href="/contact">Contact</a></div></div><p class="mt-4 text-center sm:text-left text-xs text-subtle-fg">Google Play and the Google Play logo are trademarks of Google LLC.</p></div></footer></div>
1<script src="/_next/static/chunks/e4081de7d6b0da99.js" id="_R_" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[1801,[\"/_next/static/chunks/9b6af269bdb8c51f.js\",\"/_next/static/chunks/24b118631e774bf5.js\",\"/_next/static/chunks/130dadb472d88d6e.js\",\"/_next/static/chunks/5f0141a37f2cb804.js\",\"/_next/static/chunks/a9ce8f2bd3c14f0e.js\"],\"Providers\"]\n4:I[3374,[\"/_next/static/chunks/9b6af269bdb8c51f.js\",\"/_next/static/chunks/24b118631e774bf5.js\",\"/_next/static/chunks/130dadb472d88d6e.js\",\"/_next/static/chunks/5f0141a37f2cb804.js\",\"/_next/static/chunks/a9ce8f2bd3c14f0e.js\"],\"Header\"]\n5:I[97995,[\"/_next/static/chunks/9b6af269bdb8c51f.js\",\"/_next/static/chunks/24b118631e774bf5.js\",\"/_next/static/chunks/130dadb472d88d6e.js\",\"/_next/static/chunks/5f0141a37f2cb804.js\",\"/_next/static/chunks/a9ce8f2bd3c14f0e.js\"],\"EmailVerificationBanner\"]\n6:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\n7:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"default\"]\ne:I[68027,[],\"default\"]\n:HL[\"/_next/static/chunks/5238d6ffd234ff4a.css\",\"style\"]\n:HL[\"/_next/static/chunks/0198a3dae028e8a7.css\",\"style\"]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:T6dc,"])</script>
1<script>self.__next_f.push([1,"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://repeat.cards/#organization\",\"name\":\"repeat.cards\",\"url\":\"https://repeat.cards\",\"logo\":\"https://repeat.cards/icon.png\"},{\"@type\":\"WebSite\",\"@id\":\"https://repeat.cards/#website\",\"url\":\"https://repeat.cards\",\"name\":\"repeat.cards\",\"description\":\"A flashcard app for language learners. FSRS spaced repetition schedules every review at the moment you would forget. AI turns each word into a full card — audio, example sentence, mnemonic, image. 100+ languages, any level. Free today.\",\"publisher\":{\"@id\":\"https://repeat.cards/#organization\"},\"inLanguage\":\"en\"},{\"@type\":\"SoftwareApplication\",\"@id\":\"https://repeat.cards/#app\",\"name\":\"repeat.cards\",\"url\":\"https://repeat.cards\",\"applicationCategory\":\"EducationalApplication\",\"operatingSystem\":\"Web, Android\",\"installUrl\":\"https://play.google.com/store/apps/details?id=cards.repeat.app\",\"description\":\"A flashcard app for language learners. FSRS spaced repetition schedules every review at the moment you would forget. AI turns each word into a full card — audio, example sentence, mnemonic, image. 100+ languages, any level. Free today.\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"featureList\":[\"FSRS spaced repetition\",\"Bidirectional review with independent scheduling per side\",\"AI-generated mnemonics, audio, example sentences, and images, paid for in coins, with free coins at sign-up and your own OpenAI or Google keys accepted instead\",\"Language-specific fields: articles, plurals, verb conjugations\",\"100+ supported languages including regional variants\",\"Free Android app sharing one account and one schedule with the website\",\"Free Anki collection import (.colpkg) that preserves review history\"]}]}"])</script>
1<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"jGR7k12xiQEPfKBUWMMjB\",\"c\":[\"\",\"pricing\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"pricing\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/5238d6ffd234ff4a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0198a3dae028e8a7.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/9b6af269bdb8c51f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/24b118631e774bf5.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/130dadb472d88d6e.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/5f0141a37f2cb804.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/a9ce8f2bd3c14f0e.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$2\"}}]}],[\"$\",\"body\",null,{\"className\":\"inter_5972bc34-module__OU16Qa__className generalsans_e555531b-module__Kal2IG__variable ibm_plex_mono_25fe9eca-module__WU9wEq__variable\",\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col min-h-screen\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1\",\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],\"$L8\",\"$L9\"]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],false,\"$La\"]}]}]}]]}]]}],{\"children\":[\"$Lb\",{\"children\":[\"$Lc\",{},null,false,false]},null,false,false]},null,false,false],\"$Ld\",false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true}\n"])</script>
1<script>self.__next_f.push([1,"f:I[22016,[\"/_next/static/chunks/9b6af269bdb8c51f.js\",\"/_next/static/chunks/24b118631e774bf5.js\",\"/_next/static/chunks/130dadb472d88d6e.js\",\"/_next/static/chunks/5f0141a37f2cb804.js\",\"/_next/static/chunks/a9ce8f2bd3c14f0e.js\"],\"\"]\n1d:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"ViewportBoundary\"]\n1f:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"MetadataBoundary\"]\n20:\"$Sreact.suspense\"\n8:[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}]\n9:[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]\n"])</script>
1<script>self.__next_f.push([1,"a:[\"$\",\"footer\",null,{\"className\":\"font-display border-t border-border-default/60 bg-surface/50 backdrop-blur-sm\",\"children\":[\"$\",\"div\",null,{\"className\":\"page-container-wide py-6\",\"children\":[[\"$\",\"nav\",null,{\"aria-label\":\"Features\",\"className\":\"mb-5 pb-5 border-b border-border-default/60 flex flex-wrap items-center justify-center sm:justify-start gap-x-6 gap-y-2.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs font-semibold uppercase tracking-[0.08em] text-subtle-fg\",\"children\":\"Features\"}],[[\"$\",\"$Lf\",\"/ai-flashcards\",{\"href\":\"/ai-flashcards\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"AI flashcards\"}],[\"$\",\"$Lf\",\"/spaced-repetition\",{\"href\":\"/spaced-repetition\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Spaced repetition\"}],[\"$\",\"$Lf\",\"/grammar-flashcards\",{\"href\":\"/grammar-flashcards\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Grammar flashcards\"}],[\"$\",\"$Lf\",\"/type-the-answer\",{\"href\":\"/type-the-answer\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Typed answers\"}],[\"$\",\"$Lf\",\"/capture-words\",{\"href\":\"/capture-words\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Capture words\"}],[\"$\",\"$Lf\",\"/vocabulary-app\",{\"href\":\"/vocabulary-app\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Vocabulary app\"}],[\"$\",\"$Lf\",\"/best-flashcard-app-language-learning\",{\"href\":\"/best-flashcard-app-language-learning\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Best flashcard app for languages\"}],[\"$\",\"$Lf\",\"/with-duolingo\",{\"href\":\"/with-duolingo\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Use with Duolingo\"}],[\"$\",\"$Lf\",\"/ask-about-a-word\",{\"href\":\"/ask-about-a-word\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Ask about a word\"}],[\"$\",\"$Lf\",\"/review-forecast\",{\"href\":\"/review-forecast\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Review forecast\"}],[\"$\",\"$Lf\",\"/android\",{\"href\":\"/android\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Android app\"}],[\"$\",\"$Lf\",\"/ios\",{\"href\":\"/ios\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"iPhone app\"}]]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col sm:flex-row items-center justify-between gap-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-fg\",\"children\":[\"© \",2026,\" repeat.cards\"]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center justify-center gap-x-6 gap-y-2.5\",\"children\":[[\"$\",\"$Lf\",null,{\"href\":\"/anki-alternative\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"For Anki users\"}],[\"$\",\"$Lf\",null,{\"href\":\"/import-anki-deck\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Import from Anki\"}],[\"$\",\"$Lf\",null,{\"href\":\"/api-keys\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"API keys\"}],[\"$\",\"$Lf\",null,{\"href\":\"/pricing\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Pricing\"}],[\"$\",\"$Lf\",null,{\"href\":\"/refunds\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Refunds\"}],[\"$\",\"$Lf\",null,{\"href\":\"/privacy\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Privacy\"}],\"$L10\",\"$L11\"]}]]}],\"$L12\"]}]}]\n"])</script>
1<script>self.__next_f.push([1,"b:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n13:T64e,"])</script>
1<script>self.__next_f.push([1,"{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Is repeat.cards free?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Making decks, making cards, training and the spaced repetition schedule are all free and have no limit. Coins pay only for the optional AI features, and every account starts with a free allowance of them.\"}},{\"@type\":\"Question\",\"name\":\"Is this a subscription?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. Every purchase is a one-off. Nothing renews, nothing is charged again, and there is nothing to cancel.\"}},{\"@type\":\"Question\",\"name\":\"Do coins expire?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. Coins stay on your balance for as long as your account exists, whether you spend them tomorrow or next year.\"}},{\"@type\":\"Question\",\"name\":\"What happens when I run out?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The AI features stop until you top up, and everything else goes on working exactly as before. Your decks, your cards and your review schedule are not affected.\"}},{\"@type\":\"Question\",\"name\":\"Can I use my own AI provider keys instead?\",\"acceptedA
1nswer\":{\"@type\":\"Answer\",\"text\":\"Yes. You can put your own OpenAI or Google keys into the app and pay your provider directly instead of buying coins. An account on its own keys spends no coins at all.\"}},{\"@type\":\"Question\",\"name\":\"Can I get a refund?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Write to us within 14 days of buying and we refund the coins still on your balance. Coins you have already spent are not refunded, because the work they paid for has already been done.\"}}]}"])</script>
1<script>self.__next_f.push([1,"c:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"mk\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$13\"}}],[\"$\",\"section\",null,{\"className\":\"border-b border-[var(--mk-line)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"page-container pt-14 pb-14 sm:pt-20 sm:pb-20\",\"children\":[\"$\",\"div\",null,{\"className\":\"content-medium reveal\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mk-stamp\",\"children\":\"Pricing\"}],[\"$\",\"h1\",null,{\"className\":\"mk-display mt-7 text-[2.1rem] sm:text-[2.7rem] lg:text-[3.1rem] leading-[1.08]\",\"children\":\"Free to use. Coins for the AI.\"}],[\"$\",\"p\",null,{\"className\":\"mt-6 max-w-2xl text-lg sm:text-xl leading-relaxed text-muted-fg\",\"children\":\"Decks, cards, training and the review schedule cost nothing. The AI features run on coins — every account starts with a free allowance, and you can buy more when it runs out.\"}],[\"$\",\"div\",null,{\"className\":\"mt-9 flex flex-col sm:flex-row gap-4 sm:items-center\",\"children\":[[\"$\",\"$Lf\",null,{\"href\":\"/register\",\"className\":\"mk-btn\",\"children\":\"Start free\"}],[\"$\",\"$Lf\",null,{\"href\":\"/anki-alternative\",\"className\":\"mk-btn-ghost\",\"children\":\"Coming from Anki?\"}]]}]]}]}]}],[\"$\",\"section\",null,{\"className\":\"py-12 sm:py-16 bg-surface\",\"children\":[\"$\",\"div\",null,{\"className\":\"page-container\",\"children\":[\"$\",\"div\",null,{\"className\":\"content-medium marketing-content text-secondary\",\"children\":[[\"$\",\"div\",null,{\"data-testid\":\"direct-answer\",\"className\":\"not-prose mk-card mk-answer p-6 pl-8 sm:p-7 sm:pl-9 mb-12 text-lg leading-relaxed text-secondary\",\"children\":\"repeat.cards is free. There is no paid plan and no subscription. The only thing you can buy is coins, which pay for the optional AI features — translating a word, analysing it, writing usage examples, checking a typed answer, making a mnemonic, speaking it aloud and drawing a picture of what it means. Every account starts with a free allowance of them.\"}],[\"$\",\"h2\",null,{\"children\":\"What coins cost\"}],\"$L14\",\"$L15\",\"$L16\",\"$L17\",\"$L18\",\"$L19\"]}]}]}],\"$L1a\",\"$L1b\"]}],null,\"$L1c\"]}]\n"])</script>
1<script>self.__next_f.push([1,"d:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1d\",null,{\"children\":\"$L1e\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1f\",null,{\"children\":[\"$\",\"$20\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L21\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script>
1<script>self.__next_f.push([1,"24:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"OutletBoundary\"]\n10:[\"$\",\"$Lf\",null,{\"href\":\"/terms\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Terms\"}]\n11:[\"$\",\"$Lf\",null,{\"href\":\"/contact\",\"className\":\"text-sm text-muted-fg hover:text-secondary transition-colors whitespace-nowrap\",\"children\":\"Contact\"}]\n12:[\"$\",\"p\",null,{\"className\":\"mt-4 text-center sm:text-left text-xs text-subtle-fg\",\"children\":\"Google Play and the Google Play logo are trademarks of Google LLC.\"}]\n"])</script>
1<script>self.__next_f.push([1,"14:[[\"$\",\"div\",null,{\"data-testid\":\"comparison-cards\",\"className\":\"not-prose my-8 space-y-3 sm:hidden\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"rounded-xl border border-border-default p-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"font-semibold text-foreground\",\"children\":[\"$\",\"span\",\"coins-5-eur-web-coins\",{\"className\":\"inline-flex items-center gap-2.5\",\"children\":[[\"$\",\"svg\",null,{\"aria-hidden\":\"true\",\"viewBox\":\"0 0 16 16\",\"className\":\"flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400\",\"fill\":\"none\",\"children\":[[\"$\",\"circle\",null,{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"7\",\"fill\":\"currentColor\"}],[\"$\",\"circle\",null,{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"5\",\"stroke\":\"#fff\",\"strokeOpacity\":\"0.5\",\"strokeWidth\":\"1\"}],[\"$\",\"path\",null,{\"d\":\"M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6\",\"stroke\":\"#fff\",\"strokeOpacity\":\"0.85\",\"strokeWidth\":\"1.2\",\"strokeLinecap\":\"round\"}]]}],[\"$\",\"span\",null,{\"className\":\"tabular-nums\",\"children\":\"5,000\"}],null]}]}],[\"$\",\"dl\",null,{\"className\":\"mt-2 space-y-2 text-sm\",\"children\":[[\"$\",\"div\",\"1\",{\"className\":\"$undefined\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-xs font-semibold uppercase tracking-[0.06em] text-subtle-fg\",\"children\":\"Price\"}],[\"$\",\"dd\",null,{\"className\":\"text-muted-fg\",\"children\":[\"$\",\"span\",\"coins-5-eur-web-price\",{\"children\":[\"€\",\"5.99\"]}]}]]}]]}]]}],[\"$\",\"div\",\"1\",{\"className\":\"rounded-xl border border-border-default p-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"font-semibold text-foreground\",\"children\":[\"$\",\"span\",\"coins-10-eur-web-coins\",{\"className\":\"inline-flex items-center gap-2.5\",\"children\":[[\"$\",\"svg\",null,{\"aria-hidden\":\"true\",\"viewBox\":\"0 0 16 16\",\"className\":\"flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400\",\"fill\":\"none\",\"children\":[[\"$\",\"circle\",null,{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"7\",\"fill\":\"currentColor\"}],[\"$\",\"circle\",null,{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"5\",\"stroke\":\"#fff\",\"strokeOpacity\":\"0.5\",\"strokeWidth\":\"1\"}],[\"$\",\"path\",null,{\"d\":\"M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6\",\"stroke\":\"#fff\",\"strokeOpacity\":\"0.85\",\"strokeWidth\":\"1.2\",\"strokeLinecap\":\"round\"}]]}],[\"$\",\"span\",null,{\"className\":\"tabular-nums\",\"children\":\"12,000\"}],null]}]}],[\"$\",\"dl\",null,{\"className\":\"mt-2 space-y-2 text-sm\",\"children\":[[\"$\",\"div\",\"1\",{\"className\":\"$undefined\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-xs font-semibold uppercase tracking-[0.06em] text-subtle-fg\",\"children\":\"Price\"}],[\"$\",\"dd\",null,{\"className\":\"text-muted-fg\",\"children\":[\"$\",\"span\",\"coins-10-eur-web-price\",{\"children\":[\"€\",\"11.99\"]}]}]]}]]}]]}],[\"$\",\"div\",\"2\",{\"className\":\"rounded-xl border border-border-default p-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"font-semibold text-foreground\",\"children\":[\"$\",\"span\",\"coins-20-eur-web-coins\",{\"className\":\"inline-flex items-center gap-2.5\",\"children\":[[\"$\",\"svg\",null,{\"aria-hidden\":\"true\",\"viewBox\":\"0 0 16 16\",\"className\":\"flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400\",\"fill\":\"none\",\"children\":[[\"$\",\"circle\",null,{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"7\",\"fill\":\"currentColor\"}],[\"$\",\"circle\",null,{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"5\",\"stroke\":\"#fff\",\"strokeOpacity\":\"0.5\",\"strokeWidth\":\"1\"}],[\"$\",\"path\",null,{\"d\":\"M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6\",\"stroke\":\"#fff\",\"strokeOpacity\":\"0.85\",\"strokeWidth\":\"1.2\",\"strokeLinecap\":\"round\"}]]}],[\"$\",\"span\",null,{\"className\":\"tabular-nums\",\"children\":\"26,000\"}],null]}]}],[\"$\",\"dl\",null,{\"className\":\"mt-2 space-y-2 text-sm\",\"children\":[[\"$\",\"div\",\"1\",{\"className\":\"$undefined\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-xs font-semibold uppercase tracking-[0.06em] text-subtle-fg\",\"children\":\"Price\"}],[\"$\",\"dd\",null,{\"className\":\"text-muted-fg\",\"children\":[\"$\",\"span\",\"coins-20-eur-web-price\",{\"children\":[\"€\",\"23.99\"]}]}]]}]]}]]}],[\"$\",\"div\",\"3\",{\"className\":\"rounded-xl border border-border-default p-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"font-semibold text-foreground\",\"children\":[\"$\",\"span\",\"coins-50-eur-web-coins\",{\"className\":\"inline-flex items-center gap-2.5\",\"children\":[[\"$\",\"svg\",null,{\"aria-hidden\":\"true\",\"viewBox\":\"0 0 16 16\",\"className\":\"flex-shrink-0 h-5 w-5 text-amber-500 dark:text-amber-400\",\"fill\":\"none\",\"children\":[[\"$\",\"circle\",null,{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"7\",\"fill\":\"currentColor\"}],[\"$\",\"circle\",null,{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"5\",\"stroke\":\"#fff\",\"strokeOpacity\":\"0.5\",\"strokeWidth\":\"1\"}],[\"$\",\"path\",null,{\"d\":\"M4.9 5.4a4.3 4.3 0 0 1 2.3-1.6\",\"stroke\":\"#fff\",\"strokeOpacity\":\"0.85\",\"strokeWidth\":\"1.2\",\"strokeLinecap\":\"round\"}]]}],[\"$\",\"span\",null,{\"className\":\"tabular-nums\",\"children\":\"70,000\"}],[\"$\",\"span\",null,{\"className\":\"rounded-full px-2 py-0.5 text-xs font-medium bg-primary-100 text-primary-800 dark:bg-primary-900/70 dark:text-primary-200\",\"children\":\"Best value\"}]]}]}],\"$L22\"]}]]}],\"$L23\"]\n"])</script>
1<script>self.__next_f.push([1,"15:[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Prices are shown in euro, tax included.\"}],\" The exact amount you pay is set at checkout: outside the euro area it is converted into your currency, and local taxes can make it higher or lower than the figure above. Inside the Android app, Google Play shows its own price for your country before you confirm.\"]}]\n16:[\"$\",\"p\",null,{\"children\":\"Every purchase is a one-off. Nothing renews and there is nothing to cancel. Coins never expire, and a bought coin and a free one are the same thing once they are on your balance — nothing decides which gets spent first.\"}]\n17:[\"$\",\"h2\",null,{\"children\":\"You do not have to buy anything\"}]\n18:[\"$\",\"p\",null,{\"children\":\"There are two other routes. You can use repeat.cards without the AI features at all — the flashcards, the training and the schedule are the product, and they are free. Or you can bring your own provider keys and pay OpenAI or Google directly, in which case the app spends no coins on your behalf and the allowance stops applying to you.\"}]\n"])</script>
1<script>self.__next_f.push([1,"19:[\"$\",\"div\",null,{\"className\":\"not-prose mt-14\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"mk-display text-2xl sm:text-3xl text-foreground mb-8 leading-[1.15]\",\"children\":\"Frequently asked\"}],[\"$\",\"div\",null,{\"className\":\"mk-faq\",\"children\":[[\"$\",\"details\",\"Is repeat.cards free?\",{\"children\":[[\"$\",\"summary\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"Is repeat.cards free?\"}],[\"$\",\"span\",null,{\"className\":\"mk-faq-sign\",\"aria-hidden\":\"true\"}]]}],[\"$\",\"div\",null,{\"className\":\"mk-faq-answer\",\"children\":\"Yes. Making decks, making cards, training and the spaced repetition schedule are all free and have no limit. Coins pay only for the optional AI features, and every account starts with a free allowance of them.\"}]]}],[\"$\",\"details\",\"Is this a subscription?\",{\"children\":[[\"$\",\"summary\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"Is this a subscription?\"}],[\"$\",\"span\",null,{\"className\":\"mk-faq-sign\",\"aria-hidden\":\"true\"}]]}],[\"$\",\"div\",null,{\"className\":\"mk-faq-answer\",\"children\":\"No. Every purchase is a one-off. Nothing renews, nothing is charged again, and there is nothing to cancel.\"}]]}],[\"$\",\"details\",\"Do coins expire?\",{\"children\":[[\"$\",\"summary\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"Do coins expire?\"}],[\"$\",\"span\",null,{\"className\":\"mk-faq-sign\",\"aria-hidden\":\"true\"}]]}],[\"$\",\"div\",null,{\"className\":\"mk-faq-answer\",\"children\":\"No. Coins stay on your balance for as long as your account exists, whether you spend them tomorrow or next year.\"}]]}],[\"$\",\"details\",\"What happens when I run out?\",{\"children\":[[\"$\",\"summary\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"What happens when I run out?\"}],[\"$\",\"span\",null,{\"className\":\"mk-faq-sign\",\"aria-hidden\":\"true\"}]]}],[\"$\",\"div\",null,{\"className\":\"mk-faq-answer\",\"children\":\"The AI features stop until you top up, and everything else goes on working exactly as before. Your decks, your cards and your review schedule are not affected.\"}]]}],[\"$\",\"details\",\"Can I use my own AI provider keys instead?\",{\"children\":[[\"$\",\"summary\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"Can I use my own AI provider keys instead?\"}],[\"$\",\"span\",null,{\"className\":\"mk-faq-sign\",\"aria-hidden\":\"true\"}]]}],[\"$\",\"div\",null,{\"className\":\"mk-faq-answer\",\"children\":[\"Yes. You can put your own OpenAI or Google keys into the app and pay your provider directly instead of buying coins — see\",\" \",[\"$\",\"a\",null,{\"href\":\"/api-keys\",\"children\":\"how to get your API keys\"}],\". An account on its own keys spends no coins at all.\"]}]]}],[\"$\",\"details\",\"Can I get a refund?\",{\"children\":[[\"$\",\"summary\",null,{\"children\":[[\"$\",\"span\",null,{\"children\":\"Can I get a refund?\"}],[\"$\",\"span\",null,{\"className\":\"mk-faq-sign\",\"aria-hidden\":\"true\"}]]}],[\"$\",\"div\",null,{\"className\":\"mk-faq-answer\",\"children\":[\"Write to us within 14 days of buying and we refund the coins still on your balance. Coins you have already spent are not refunded, because the work they paid for has already been done. The full wording is on the\",\" \",[\"$\",\"a\",null,{\"href\":\"/refunds\",\"children\":\"refunds page\"}],\".\"]}]]}]]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"1a:[\"$\",\"section\",null,{\"data-testid\":\"closing-cta\",\"className\":\"py-20 sm:py-24\",\"children\":[\"$\",\"div\",null,{\"className\":\"page-container\",\"children\":[\"$\",\"div\",null,{\"className\":\"mk-panel px-6 py-16 sm:px-12 sm:py-20 text-center\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"mk-display mx-auto max-w-2xl text-[1.85rem] sm:text-[2.4rem] leading-[1.1]\",\"children\":\"Start with the free allowance\"}],[\"$\",\"p\",null,{\"className\":\"mk-soft mt-5 text-lg max-w-xl mx-auto\",\"children\":\"Make an account, build a deck, and try the AI features on the coins you are given. Nothing to enter and nothing to cancel.\"}],[\"$\",\"$Lf\",null,{\"href\":\"/register\",\"className\":\"mk-btn mt-9\",\"children\":\"Create a free account\"}],[\"$\",\"p\",null,{\"className\":\"mk-mono mk-soft mt-7 text-xs uppercase tracking-[0.08em]\",\"children\":\"No card required.\"}]]}]}]}]\n"])</script>
1<script>self.__next_f.push([1,"1b:[\"$\",\"section\",null,{\"data-testid\":\"related-links\",\"className\":\"py-12 sm:py-16 border-t border-[var(--mk-line)]\",\"children\":[\"$\",\"div\",null,{\"className\":\"page-container\",\"children\":[\"$\",\"div\",null,{\"className\":\"content-medium\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"mk-display text-xl text-foreground mb-8\",\"children\":\"Keep reading\"}],[\"$\",\"div\",null,{\"className\":\"grid sm:grid-cols-2 gap-x-7 gap-y-8\",\"children\":[[\"$\",\"$Lf\",\"/refunds\",{\"href\":\"/refunds\",\"className\":\"mk-card block p-5 transition-transform hover:-translate-x-px hover:-translate-y-px focus-visible:outline-3 focus-visible:outline-[var(--mk-violet)] focus-visible:outline-offset-2\",\"children\":[[\"$\",\"p\",null,{\"className\":\"font-semibold text-foreground mb-1\",\"children\":\"Refunds\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-fg\",\"children\":\"Change your mind within 14 days and we refund the coins still on your balance.\"}]]}],[\"$\",\"$Lf\",\"/api-keys\",{\"href\":\"/api-keys\",\"className\":\"mk-card block p-5 transition-transform hover:-translate-x-px hover:-translate-y-px focus-visible:outline-3 focus-visible:outline-[var(--mk-violet)] focus-visible:outline-offset-2\",\"children\":[[\"$\",\"p\",null,{\"className\":\"font-semibold text-foreground mb-1\",\"children\":\"How to get your API keys\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-fg\",\"children\":\"Prefer to pay your provider directly? Where each key comes from and what to enable.\"}]]}],[\"$\",\"$Lf\",\"/terms\",{\"href\":\"/terms\",\"className\":\"mk-card block p-5 transition-transform hover:-translate-x-px hover:-translate-y-px focus-visible:outline-3 focus-visible:outline-[var(--mk-violet)] focus-visible:outline-offset-2\",\"children\":[[\"$\",\"p\",null,{\"className\":\"font-semibold text-foreground mb-1\",\"children\":\"Terms of Service\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-fg\",\"children\":\"What we provide, what you agree to, and what happens when either of us walks away.\"}]]}]]}]]}]}]}]\n"])</script>
1<script>self.__next_f.push([1,"1c:[\"$\",\"$L24\",null,{\"children\":[\"$\",\"$20\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@25\"}]}]\n"])</script>
1<script>self.__next_f.push([1,"22:[\"$\",\"dl\",null,{\"className\":\"mt-2 space-y-2 text-sm\",\"children\":[[\"$\",\"div\",\"1\",{\"className\":\"$undefined\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-xs font-semibold uppercase tracking-[0.06em] text-subtle-fg\",\"children\":\"Price\"}],[\"$\",\"dd\",null,{\"className\":\"text-muted-fg\",\"children\":[\"$\",\"span\",\"coins-50-eur-web-price\",{\"children\":[\"€\",\"59.99\"]}]}]]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"23:[\"$\",\"div\",null,{\"data-testid\":\"comparison-table\",\"className\":\"my-8 hidden sm:block overflow-x-auto rounded-xl border border-border-default\",\"children\":[\"$\",\"table\",null,{\"className\":\"w-full text-left text-sm border-collapse\",\"children\":[[\"$\",\"caption\",null,{\"className\":\"sr-only\",\"children\":\"Coin packages and their prices\"}],[\"$\",\"thead\",null,{\"children\":[\"$\",\"tr\",null,{\"className\":\"bg-muted\",\"children\":[[\"$\",\"th\",\"0\",{\"scope\":\"col\",\"className\":\"px-4 py-3 font-semibold text-foreground border-b border-border-default \",\"children\":\"Coins\"}],[\"$\",\"th\",\"1\",{\"scope\":\"col\",\"className\":\"px-4 py-3 font-semibold text-foreground border-b border-border-default \",\"children\":\"Price\"}]]}]}],[\"$\",\"tbody\",null,{\"children\":[[\"$\",\"tr\",\"0\",{\"className\":\"even:bg-muted/50\",\"children\":[[\"$\",\"td\",\"0\",{\"className\":\"px-4 py-3 align-top border-b border-border-subtle font-medium text-foreground \",\"children\":\"$14:0:props:children:0:props:children:0:props:children\"}],[\"$\",\"td\",\"1\",{\"className\":\"px-4 py-3 align-top border-b border-border-subtle text-muted-fg \",\"children\":\"$14:0:props:children:0:props:children:1:props:children:0:props:children:1:props:children\"}]]}],[\"$\",\"tr\",\"1\",{\"className\":\"even:bg-muted/50\",\"children\":[[\"$\",\"td\",\"0\",{\"className\":\"px-4 py-3 align-top border-b border-border-subtle font-medium text-foreground \",\"children\":\"$14:0:props:children:1:props:children:0:props:children\"}],[\"$\",\"td\",\"1\",{\"className\":\"px-4 py-3 align-top border-b border-border-subtle text-muted-fg \",\"children\":\"$14:0:props:children:1:props:children:1:props:children:0:props:children:1:props:children\"}]]}],[\"$\",\"tr\",\"2\",{\"className\":\"even:bg-muted/50\",\"children\":[[\"$\",\"td\",\"0\",{\"className\":\"px-4 py-3 align-top border-b border-border-subtle font-medium text-foreground \",\"children\":\"$14:0:props:children:2:props:children:0:props:children\"}],[\"$\",\"td\",\"1\",{\"className\":\"px-4 py-3 align-top border-b border-border-subtle text-muted-fg \",\"children\":\"$14:0:props:children:2:props:children:1:props:children:0:props:children:1:props:children\"}]]}],[\"$\",\"tr\",\"3\",{\"className\":\"even:bg-muted/50\",\"children\":[[\"$\",\"td\",\"0\",{\"className\":\"px-4 py-3 align-top border-b border-border-subtle font-medium text-foreground \",\"children\":\"$14:0:props:children:3:props:children:0:props:children\"}],[\"$\",\"td\",\"1\",{\"className\":\"px-4 py-3 align-top border-b border-border-subtle text-muted-fg \",\"children\":\"$22:props:children:0:props:children:1:props:children\"}]]}]]}]]}]}]\n"])</script>
1<script>self.__next_f.push([1,"1e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: light)\",\"content\":\"#f8fafc\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"media\":\"(prefers-color-scheme: dark)\",\"content\":\"#0b1120\"}]]\n"])</script>
1<script>self.__next_f.push([1,"26:I[27201,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/7340adf74ff47ec0.js\"],\"IconMark\"]\n"])</script>
1<script>self.__next_f.push([1,"21:[[\"$\",\"title\",\"0\",{\"children\":\"Pricing: Free Flashcards, Coins for AI | repeat.cards\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"repeat.cards is free to use. AI features run on coins: every account gets some free, and more come in one-off packs. No subscription, and coins never expire.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"repeat.cards\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"flashcard app,free flashcard app,spaced repetition flashcards,FSRS flashcards,language learning flashcards,vocabulary flashcards,language learning app,spaced repetition,vocabulary trainer,memory cards\"}],[\"$\",\"meta\",\"4\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"link\",\"5\",{\"rel\":\"canonical\",\"href\":\"https://repeat.cards/pricing\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:title\",\"content\":\"Pricing: Free Flashcards, Coins for AI | repeat.cards\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:description\",\"content\":\"repeat.cards is free to use. AI features run on coins: every account gets some free, and more come in one-off packs. No subscription, and coins never expire.\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:url\",\"content\":\"https://repeat.cards/pricing\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image\",\"content\":\"https://repeat.cards/og-image.png\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:title\",\"content\":\"Pricing: Free Flashcards, Coins for AI | repeat.cards\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:description\",\"content\":\"repeat.cards is free to use. AI features run on coins: every account gets some free, and more come in one-off packs. No subscription, and coins never expire.\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:image\",\"content\":\"https://repeat.cards/og-image.png\"}],[\"$\",\"link\",\"15\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.15cc37b7.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"16\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.3227eea0.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"$L26\",\"17\",{}]]\n"])</script>
1<script>self.__next_f.push([1,"25:null\n"])</script>
1<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"f97a700e14a7414d8f42d0311054bbff","r":1,"spa":2}' crossorigin="anonymous"></script>
1
2</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.