Skip to content

First, Middle, Last – Why Not Full Name?

Few years ago someone told me that I should write my first and last name when signing contracts or filling any form (right in that order). It was obvious for me for all those years. But I must be aware that it’s not true in every country. How with others?

In every application, that store user data, you have “name” field. It’s often divided into first and last name. Such architecture helps with sorting (using last name) and it’s convenient for programmers (we LOVE tables, don’t we?). I’ll try to answer question: is first/last name good global design choice? What would be user experience all over the world? Do everybody have last name?

So let’s start with reasons. Why do you need names in application?

  • user names in lists or tables, additionaly used for sorting,
  • full name when reviewing user details,
  • personal names (formal or informal) used for example in customized e-mail messages;

Different usage, different database needs. It would be tempting to (and we used to it) ask for users first and last name, sort by last name, show full name by concatenating first name with last, and personal name would be first name, right? Well, let’s see how it’s seen outside.

Names all over the world

When designing database or form to serve all users, you must be aware of some facts. I’ll point out most important things to consider.

  1. Not everyone has family name – for example Icelandic name consists of given name and patronymic. As W3 states:

    In the Icelandic name Björk Guðmundsdóttir Björk is the given name. The second part of the name indicates the father’s (or sometimes the mother’s) name, followed by ‑sson for a male and ‑sdóttir for a female, and is more of a description than a family name in the Western sense. Björk’s father, Guðmundur, was the son of Gunnar, so is known as Guðmundur Gunnarsson.

    Icelanders prefer to be called by their given name (Björk), or by their full name (Björk Guðmundsdóttir). Björk wouldn’t normally expect to be called Ms. Guðmundsdóttir. Telephone directories in Iceland are sorted by given name.

  2. People not always would be called personally by their first name – in some cultures generational name should be used alltogether with first.

    In the Chinese name 毛泽东 (Mao Ze Dong) the family name is Mao, ie. the first name when reading (left to right). The given name is Dong. The middle character, Ze, is a generational name, and is common to all his siblings (such as his brothers and sister, 毛泽民 (Mao Ze Min), 毛泽覃 (Mao Ze Tan), and 毛泽紅 (Mao Ze Hong)).

    Among people who are not on familiar terms, Mao may be referred to as 毛泽东先生 (Mao Ze Dong xiān shēng) or 毛先生 (Mao xiān shēng) (xiān shēng being the equivalent of Mr.). Although not everyone has a generational name these days, especially in Mainland China, those who do have one expect it to be used together with their given name. Thus, if you are on familiar terms with someone called 毛泽东, you would normally refer to them using 泽东 (Ze Dong), not just 东 (Dong).

    Not everyone has family name, some cultures use given name and patronymic
    Not everyone has family name, some cultures use given name and patronymic
  3. Sorting list of users with latin names mixed with asian names would be tricky – you should ask your Japan or China users for latin transliteration of their name for such cases.

    Ideographic characters in Japanese names can typically be pronounced in more than one way. In some cases this makes it difficult for people to know exactly how to pronounce a name, and also causes problems for automatic sorting and retrieval of names, which is typically done on the basis of how the name is pronounced. For example, the family name of 東海林賢蔵 (ie. the first three ideographic characters on the left) may be transcribed or pronounced as either Tōkairin or Shōji.

    Furthermore, different kanji characters may be pronounced in the same way, so romanization (ie. Latin script transcription) tends to lose important distinctive information related to names. For example, 庄司, 庄子, 東海林, and 小路 can all be romanized as Shōji.

  4. All characters are valid in name – referring to this one you should read John Graham-Cumming post about hyphen treated as invalid in his name. Because of that you can’t rely on any ISO encoding (or ASCII!) – you must use Unicode.
  5. And last – probably most important – assume that people do know how to write their name. Removing invalid apostrophe from O’Neill and then capitalizing only first letter would result with Oneill. Is it really what you wanted?

For additional reading – Kalzumeus wrote extensive list of falsehoods that programmers believe about names – it’s good to be aware of them. But still, please remember to make choices depending on your needs.

Full name – one and only

So what are our options? What’s the best approach to ask for users name, so programmers can implement all the needed functions and users would not feel awkward when filling up form?

  • Traditional approach – first, middle and last name
    Probably most common in US or European countries where most of people indeed have one first, middle and last name. Well, even in those countries people will have names not fitting into such design (for example immigrants).
  • More universal – ask for family and given name
    You need to answer yourself, if you really need to gather separate data. If yes (for sorting purposes) you can try this approach. It would be better, as it’s non-localized form. In later stages you’ll be able to compare data from different cultures within single database design.
In most generic approach, you should ask users for their full name
In most generic approach, you should ask users for their full name
  • Probably most generic solution – ask for full name
    People would then enter their full name as it is (with hyphens, spaces, suffixes as ‘von’ and other special characters). If you would like to contact them or refer to them personally, ask in separate field for how may you call them. It is also what W3 recommends.

    In some cases you want to identify parts of a name so that you can sort a list of names alphabetically, contact them, etc. Consider whether it would make sense to have one or more extra fields, in addition to the full name field, where you ask the user to enter the part(s) of their name that you need to use for a specific purpose.

Internet giants way

Just before final verdict let’s check how do those internet giants handle names in their UI’s or databases. I’ve chosen brands that serve users from all over the world and must provide similar experience to all of them. You’ll probably recognize them ;)

1. Google

Google Contacts provide you a way to input additional name data
Google Contacts provide you a way to input additional name data

When creating new Google account I was asked about my first and last name. Google Contacts however shows more generic approach, where you can enter only “name” for your contact, and if you want to provide additional data – you can enable fields to enter name for sorting, or phonetic transcription.

2. Facebook

Facebook requires inputting first and last name for every culture
Facebook requires inputting first and last name for every culture

For any chosen language Facebook’s sign-up form looked the same. You must provide your first and last name to create new account. As we’ve seen in previous points, it’s not user-friendly design but it can be overcome.

For example Pablo Picasso’s full name was “Pablo Diego José Francisco de Paula Juan Nepomuceno María de los Remedios Cipriano de la Santísima Trinidad Ruiz y Picasso” so he could fill this form to include all his given names as “first name” and full family name as “last name”.

3. Microsoft

In Icelandic translated form, Microsoft asks for first name and name extension
In Icelandic translated form, Microsoft asks for first name and name extension

Similar to Facebook, Microsoft registration require to fill-in first and last name. Interestingly enough, last name is translated according to chosen language. As we know, Icelander’s don’t have last name, but only patronymic after their parent which is more description than family name in western sense. In Icelandic version of registration form you’ll be asked to enter ‘Fornafn’ which can be translated to ‘first name’, but last name will become ‘Eftirnafn’ which can be translated to something like ‘name extension’. So, it’s localized, but adapted for one database – very nice.


To sum it all up. If you would like use first name and last name of your users separately, probably best way would be asking for “Family name” and “Given name/Other”. Then you can use family name as dominating for sorting purposes.

If you can avoid separating name parts – most generic approach would consist of asking only for “Full name”. Let your users input anything they want.

Forget about any extensive validation or disabling any special characters.
Just forget.

And at the end I have a question for you. If you’ve learned something new today, please leave a comment. Not any comment, but comment including your full name and your country. Let’s build up our own database showing diversity of names across my readers.

[do action=”cc-image-attribution” author=”quinnanya” photourl=”″ cclicense=”by-sa”/]
[do action=”cc-image-attribution” author=”wiertz” photourl=”″ cclicense=”by”/]