- Home/
- CSV to Anki
CSV to Anki Converter
Drop or paste a CSV, a TSV or a spreadsheet saved as CSV, and download a ready-to-import Anki deck (.apkg). Columns map to Front, Back, Extra and Tags, and cloze rows are detected. It runs in your browser — nothing is uploaded. Up to 10,000 rows.
Convert CSV, Excel or Google Sheets exports to an Anki .apkg in your browser: map columns, preview cards, detect cloze, download. No upload, no signup.
Turn a spreadsheet into an Anki deck
Anki can import a CSV by itself — Anki Desktop, AnkiMobile and AnkiDroid all have a text importer. What they do not do is show you the cards before they land in your collection, or give you one file you can send to a classmate or open in an app that takes .apkg. This converter does both: it reads the table on your device, lets you say which column is the front and which is the back, shows you the first cards, and writes a standard .apkg.
Rows whose front contains {{c1::…}} become cloze cards automatically — one card per deletion number, the way Anki counts them — and every other row becomes a front/back card. Tags can come from a column, separated by spaces or commas. Excel, Google Sheets and Numbers files work once saved as CSV; the steps are below.
How to turn a CSV into an Anki deck
- 1Drop a .csv, .tsv or .txt file, or switch to “Paste text” and paste the rows. The separator — comma, semicolon or tab — is detected; you can override it.
- 2Check the columns: Front is required; Back, Extra and Tags are optional. A first row such as “Front, Back” or “Term, Definition” is recognised as a header and skipped.
- 3Name the deck, then look at the preview: the first cards as they will be built, plus how many notes and cards the file makes and which rows will be skipped.
- 4Select Build deck and download the .apkg. On a phone it lands in Downloads: open the Files app, press and hold the deck and choose Share → Guru (or AnkiMobile, AnkiDroid).
- 5In Anki Desktop, double-click the .apkg or choose File → Import. AnkiMobile and AnkiDroid import an .apkg opened from the Files app.
From Excel, Google Sheets or Numbers
- Excel: File → Save As, and choose “CSV UTF-8 (Comma delimited)”. The plain “CSV” type in older versions of Excel can garble accented letters; the UTF-8 type keeps them.
- Google Sheets: File → Download → Comma-separated values (.csv).
- Numbers: File → Export To → CSV.
- Keep one card per row. A line break inside a cell is fine — it becomes a line break on the card.
- A semicolon-separated file from a European version of Excel works too; the separator is detected.
What the deck contains
| In your file | In the deck | Details |
|---|---|---|
| A row with a front | One note | Rows with an empty front are skipped and counted, so you can see how many were left out. |
| Front with {{c1::…}} | A cloze note | One card per deletion number. Whatever is in the Back column moves to Extra, which shows on the answer side. |
| Front and Back | A basic note | One card. A row with an empty back is kept, and the preview says how many there are. |
| Extra column | Extra field | Shown under the answer — for a mnemonic, an example or a source. |
| Tags column | Anki tags | Split on spaces and commas, because a tag in Anki cannot contain a space. |
| Text such as a < b | Exactly that text | Text is escaped by default. Turn on “Cells contain HTML” if your cells hold formatting such as <b> or <br>; scripts and event handlers are removed either way. |
| Images or audio | Not added | A CSV cannot carry media files. Image references inside HTML cells are kept as text, but the images themselves are not packed into the deck. |
The deck uses two note types, “Flashify Basic” (Front, Back, Extra, Source) and “Flashify Cloze” (Text, Extra, Source). They behave like Anki’s own Basic and Cloze; Source is left empty. Every card starts as new, and all rows go into one deck.
When you don’t need this tool
- At a computer with Anki Desktop and a clean CSV, File → Import does the same job, with more options: your own note types, a deck column that splits rows into several decks, and matching existing notes by GUID.
- AnkiMobile and AnkiDroid can import comma- or tab-separated text too.
- Use this converter when you want to see the cards first, when the file is for someone without Anki, or when you want the deck in an app that opens .apkg files, such as Guru. Going the other way? APKG to CSV turns a deck back into a spreadsheet.
Privacy: what happens to your file
The text is read and split into rows by JavaScript in this tab. Building the deck opens a blank Anki collection that ships with this page, writes your notes into it with SQLite compiled to WebAssembly, and zips the result — the same writer GuruOwl uses for every .apkg it exports. Your file, its rows and its name are never sent anywhere. The page records an anonymous event when a deck is built, with the note and card counts only.
Limits: 10,000 rows, 20 MB of text and 50 columns per file. Rows beyond that are reported, not silently dropped.
Developer verification — November 3, 2026
We ran the converter end to end with Playwright in headless Chromium 145 against our local development server, at desktop width (1280 px) and with iPhone 13 emulation (390 px). Every deck it built was downloaded and then opened again with our APKG to CSV converter, so the check reads the notes that are actually inside the .apkg, not just the preview.
| Input | Browser | Observed result |
|---|---|---|
| CSV with a header row, a cloze row, a quoted cell with a line break, and “a < b” | Desktop and 390 px | 3 notes, 4 cards; the cloze row became a Flashify Cloze note with the back column in Extra; the line break and the < sign came back exactly; tags kept |
| Excel “CSV UTF-8”, semicolon-separated, Spanish headers, accents and Japanese | Desktop | Separator detected, header row recognised and skipped, Café / 日本語 / Été intact |
| Pasted semicolon text with a quoted cell containing a semicolon | Desktop and 390 px | 3 notes; the quoted “cat; small” stayed one cell |
| CSV with a header row and 10,000 rows (436 KB) | Desktop | 10,000 notes; the .apkg (3.4 MB) built in under a second on our development Mac, and all 10,000 rows read back |
| A TSV picked from the Files app (header line + 14 cards) | Safari, iOS 26.3 simulator (iPhone 17 Pro) | 14 notes, 15 cards built in Safari; the download kept the name chatgpt-cards.apkg; Files → Share → Guru imported all 15 cards |
| Network requests while reading and building | All Chromium runs | No POST, PUT or PATCH request — the rows and the file name never left the page |
These are our own checks, not an independent audit. Besides headless Chromium, the flow ran in Safari on the iOS 26.3 simulator; it was not run on a physical phone, and timings depend on the device. In Safari the web share sheet offered no app for the .apkg (only Save to Files), which is why the page sends phones through the Files app. We did not import these decks into Anki Desktop, AnkiMobile or AnkiDroid as part of this run (Guru only); the file is made by the same writer as every other GuruOwl .apkg export. Analytics is off on the development server; the live site sends one anonymous event per built deck, with counts only. For signed-out visitors the live site also loads Google’s sign-in prompt, whose own frame sends Google telemetry (browser and language, checked on November 3, 2026); it never receives the file.
Frequently asked questions
Can Anki import CSV files directly?
Yes. Anki Desktop (File → Import), AnkiMobile and AnkiDroid can all import comma- or tab-separated text. Use this page when you want a preview first, a single .apkg file to share, or a deck for an app that opens .apkg.
How do I make cloze cards from a spreadsheet?
Write the deletion in the front column, for example “{{c1::Paris}} is the capital of {{c2::France}}”. A row like that becomes a cloze note with one card per number. Anything in the Back column is moved to the Extra field, which shows on the answer side.
Can I convert an Excel file?
Save it as CSV first: in Excel, File → Save As → “CSV UTF-8 (Comma delimited)”; in Google Sheets, File → Download → Comma-separated values. Then drop that file here. .xlsx files are not read directly.
Which columns can I use?
Front (required), Back, Extra and Tags. Any other column is ignored. Tags are split on spaces and commas, because Anki does not allow spaces inside a tag.
Is there a size limit?
Up to 10,000 rows, 20 MB of text and 50 columns per file. Split a bigger file into several decks, or import it with Anki Desktop.
Does it work on a phone?
Yes. The deck is built in the phone’s browser and downloads as an .apkg. To study it, open your Files app, find the deck in Downloads, press and hold it and choose Share → Guru, AnkiMobile or AnkiDroid. We ran this in Safari on the iOS 26.3 simulator: the file kept its .apkg name and Guru imported every card.
Is this affiliated with Anki?
No. GuruOwl is an independent tool and is not affiliated with Anki, AnkiMobile, AnkiDroid or AnkiWeb. “Anki” here only describes the file format it reads and writes.
Keep exploring
Turn your PDF into a deck you’ll actually review
Web signup includes 50 credits. Estimated generation: 1 credit/page for Standard or 3 for Expert; check the estimate before confirming. No card required.
