What are best practices for showing names of people in a table? I could do

Name   | First Name | More Columns
Doe    | John       | more data


Name        | More Columns
Doe, John   | more data

Usually we use the first approach but it takes up a lot of space if there are people with either long first or last names (if both first and last name are very long, it doesn't make much of a difference of course).

The only real drawbacks for the second solution I can see are

  • may not be applicable to all locales but I'm sure the first solution suffers from that as well
  • users cannot sort the table by first name which is arguably not that useful anyway; our tables all have custom search fields

I guess this applies to everything where a table is used but in our case it's a rich Internet application (Vaadin to be specific).

  • In your first case you could show list of people with some data as a individual but in your 2nd case you could show up list of people who are having common data like joe and jack are having x data common so joe,jack in first column. So this will depend on what exactly are you trying to achieve?
    – nikhil84
    Sep 29, 2014 at 8:59
  • @walle84 I'm contemplating switching to joining the columns to save space but I'm unsure if there are good reasons why this is a bad idea.
    – musiKk
    Sep 29, 2014 at 10:21
  • As I said that this is good or bad idea will depend upon your goal that u want to achieve. You could put the information in your documentation that name column is name + first name and it's good to go.
    – nikhil84
    Sep 29, 2014 at 10:26
  • Please read: kalzumeus.com/2010/06/17/… and good luck!
    – MonkeyZeus
    Sep 29, 2014 at 12:43
  • @MonkeyZeus I know that document; that is not a useful comment.
    – musiKk
    Sep 29, 2014 at 16:21

2 Answers 2


Benefits of the first solution:

  • Users can easily sort by first name. (*)

  • You can have incomplete data (first or last name only).
    If you would have incomplete data in the second solution, it might not be clear if something is a first or last name.

Benefits of the second solution:

  • Works for every name (not everyone’s name is of the form first last).

  • More human-friendly. Separating the first and last name in columns has this computational data collection feeling … ripping my personal name apart so that computers can process it. You can do this on the backend, but why show it on the frontend if there’s no strong need for it?

(*) If you think that sorting by first name would be useful, then you could allow it also for the second solution, for example by offering a little menu when users try to sort the name column: give them the options to "Sort by last name" and "Sort by first name".


I would go with the second solution. The first and last name can still be saved in different columns but displayed in one single field. It would't necessary be hard to sort by either first or last name.

You could do something like this:

Example of different ways of sorting

(from https://www.zoho.com/campaigns/help/contacts/contact-management.html)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.