The CSV format BDays reads
Last updated
Four columns in this order: Name, Birthday, Tag, Notes. Keep the header row. Dates are day first, so 03/04/1990 is 3 April, never 4 March. A row with an unreadable date still imports, just without the birthday, and the app tells you which rows those were.
If you are moving a list out of a spreadsheet, another app, or an export you were handed, this is the shape BDays expects and what it does with anything that does not match.
The columns
Four, in this order:
Name,Birthday,Tag,Notes
Hannah Brooks,14-03-1991,Friends,Likes terrible puns
Marcus Reed,02/11,Colleagues,
Priya Nair,1988-07-30,Family,Allergic to lilies
Keep the header row. The first row is always skipped, so if you delete it you lose your first person instead.
Only Name really matters. Birthday, Tag and Notes can each be blank, and a blank birthday is not treated as an error: the person is added without a date, and you can fill it in later.
Separators can be commas or semicolons. Excel and Google Sheets save semicolon-separated files in a lot of European locales, so BDays detects which one your file uses instead of insisting on commas.
Files up to 5 MB are accepted, which is roughly 200,000 rows.
Dates are day first, always
This is the one that catches people out. BDays reads 03/04/1990 as
3 April 1990. There is no month-first format in the list, so a file exported
from a US tool where 04/03/1990 means April 3rd will import as 4 March.
If your source is month first, swap the columns in your spreadsheet before exporting. It is much easier than fixing 200 birthdays afterwards.
The twelve accepted date formats
With a year:
d-M-yyyyanddd-MM-yyyy, so4-3-1991and04-03-1991d/M/yyyyanddd/MM/yyyy, so4/3/1991and04/03/1991yyyy-MM-dd, so1991-03-04. This is what Google Contacts exports and what a vCardBDAYfield from an iPhone or iCloud containsdd.MM.yyyy, so04.03.1991. Excel and Sheets in German and several other European locales
Without a year, for people whose age you do not know or do not want stored:
d/Manddd/MM, so4/3and04/03d-Manddd-MM, so4-3and04-03--MM-dd, so--03-04. The year-less form Google Contacts and vCard usedd.MM, so04.03
Dates are checked properly rather than rolled over, so 31-02-1990 is rejected
as a date that does not exist rather than quietly becoming 3 March. Trailing
characters are rejected too: 04/03/1991 (approx) will not read.
What happens to rows it cannot read
Nothing is thrown away. A row whose date column has something in it that does not match any format above is still imported, with the name, tag and notes intact and no birthday. The app then shows you a receipt naming the exact row numbers it could not read, counting the header as row 1, so you can go and fix those few by hand.
Refusing an entire file over one bad cell would be the wrong call when someone has just exported 300 contacts and one of them has a typo.
The Tag column
Tags sort people into Family, Relatives, Friends, Colleagues and Others. The column accepts either the name or the number:
Familyor1Relativesor2Friendsor3Colleaguesor4Othersor5
Names are matched without regard to case, so family and FAMILY both work.
Anything unrecognised, including a blank, falls back to the default tag rather
than failing the row.
One caveat worth knowing: matching is against those five original names, not
against labels you have renamed inside the app. If you renamed Colleagues to
Work, the CSV still has to say Colleagues or 4.
Getting a file to start from
The app has a step-by-step CSV tutorial built in, with an example file you can
download and edit, under the add menu. If you are exporting your existing list
out of BDays instead, it writes dd-MM-yyyy for dates with a year and dd-MM
for those without, both of which it reads back without any changes.
BDays is free on Google Play, every feature included, importing and exporting among them.