Importing a list (CSV)
For KDay 1.1.1 and later · iPhone and Android
A spreadsheet with names and birthdays, saved
as a CSV file. KDay figures out which column holds the birthday, shows you
every row exactly as it understood it, and only then imports.
Download an example file.
The short version
One person per row. A name, and a birthday. That's it:
Emma;15/06/2017 Louis;1996-11-02 Marie;20/04
First and last name in separate columns also works — KDay joins them:
First name,Name,Birthday John,Doe,26/05/1989 Jane,Doe,31/03/1980
Extra columns (email, phone, notes) are ignored. A header row is fine.
What KDay accepts
- Separators: comma, semicolon or tab. European spreadsheets usually save semicolons — that works.
- Which column is the birthday: KDay detects it. Everything to the left of it becomes the name; everything to the right is ignored.
- Dates:
1996-11-02(year-month-day, always understood)02/11/1996or2-11-1996or2.11.1996- Month names in English, Dutch, French, German, Spanish and
Italian:
2 November 1996,2 nov 1996,November 2, 1996 - Two-digit years:
2/11/96becomes 1996 (never a future date) - No year yet?
20/04works — the person lands in "Missing birth year", where you can ask them later
- Day/month order: KDay looks at the whole file. One row with a day above 12 settles the order for every row. If the file is completely ambiguous, day-first (European) is assumed — and the preview shows you the result before you import.
- Header row: optional, detected and skipped.
- Text encoding: UTF-8 (recommended) and Western European (Latin-1 / Windows-1252).
- Size: up to 500 rows per file.
- Duplicates: people already in KDay are marked and skipped, so re-importing the same list adds nothing twice.
Saving your spreadsheet as CSV
- Excel: File → Save As → format CSV UTF-8 (Comma delimited).
- Google Sheets: File → Download → Comma-separated values (.csv).
- Numbers (Mac/iPhone): File → Export To → CSV.
An .xlsx or .numbers file cannot be read
directly — save it as CSV first.
If the import doesn't work
| What you see | What to do |
|---|---|
| "No rows could be read from that file" | The file is probably not a CSV (an .xlsx renamed, or an empty sheet). Save it again as CSV. |
| Every row shows "Couldn't read this row" | No column looked like a date. Check the birthday column: it needs digits (15/06/2017) or a supported month name — not something like "spring 1980". |
| Dates are off by month/day (e.g. 3 May instead of 5 March) | Your file is ambiguous. Change the birthdays to YYYY-MM-DD in the spreadsheet, or add one date with a day above 12, and import again. |
| Names look wrong or truncated | Likely a name containing the separator, e.g. "Doe, Jane" in a comma file. Put the field in quotes, or save with semicolons. |
| Some rows say "Already in KDay" | Nothing wrong — those people exist already and are skipped. |
| "Only the first 500 rows were read" | Split the list into several files and import them one after the other. |
Privacy
The file is read on your phone and nothing is uploaded — KDay has no servers and makes no network requests at all. On Android the app doesn't even hold the internet permission. See the privacy policy.
Still stuck? Mail us at support (at) happykday.com — a description of the file (and, if you like, the file itself) helps us improve the importer.