We have a form where a user will enter a range of ages in the form of [start year] [start month] [end year] [end month] for the age of a child. E.x. [1] [6] [3] [0] would be 1 years and 6 months as the start age and 3 years as the end range.

These results are displayed in a table and I am trying to find the best way to present a condensed version of this. My initial approach was just to list it as 1 year and 6 months to 3 years old which is pretty verbose and takes up a lot of space. Alternatively I could do 1 1/2 year to 3 years old but depending on the month entered it could be a pretty ugly fraction. Is there a better way to approach this?

  • 1
    Perhaps '1y2m to 3y old'. It's not pretty but it is short. Is '1 year and 6 months to 3 years old' too long, or just long? For me, it is still the best option since it is closest to 'real text'. Commented May 3, 2017 at 16:50
  • @NGAFD It's really too long because the age range appears in a table cell. I personally like the verbose option because it is easier to read but using it makes the table too tight.
    – kyle
    Commented May 3, 2017 at 17:18
  • 1
    Many parents will refer to a 1.5 year old as being 18 months old. Maybe worth noting. I think that stops after 2 years (24 months) but I doubt there's a hard and fast rule. Commented Aug 2, 2017 at 14:55

3 Answers 3


It seems like there are 2 issues here: how to save space, and legibility in the data table.

1. Space: For saving space, you have yr, y, and for month you have mo, m.

2. Legibility: For display purposes, you can use a table column with a top header for 'Age Range' that separates the range into columns, joined by an en dash:


download bmml source – Wireframes created with Balsamiq Mockups

This way:

  • You can scan the list vertically. That's an advantage with tabular data.
  • You can try to keep months with a 0 for consistency, even for a full year (option A)
  • You could institute a sort on one of the columns
  • You can trade off the verbose option ('year'), but make up for it in the alignment and legibility with the small separate columns. You can make this columns pretty tight, so overall it doesn't take up much table space.

Maybe not pertinent, but why not using months instead, as a primary view, while providing the verbose option as an alternative?

  • I think that is a valid question, but really months are more of the edge case. I am trying to display several different age ranges, so it could be something like 6 months to 1 year, 1 year to 2 years, 3 years to 4 years, etc... So really "years" are going to be what people generally see, and it takes more effort for the user to calculate the number of months that a 3 year old is.
    – kyle
    Commented May 3, 2017 at 22:47
  • I don't like to downvote, but it would be better to ask questions or discuss the original post in comments (above) rather than post it as an answer. Try not to take it personally when people do vote this "answer" down, it's just to make sure it's not up in the list of answers. Commented Aug 2, 2017 at 14:57

What about using only years? Meaning

1,5 - 3 years? 

More compact solution and not duplication of the word "years"

  • Interesting, this is in the US however. So it may be confused to format it with a comma initially and then also as what I assume would be a percentage. Internally we've proposed only going up to 18 months and then after that just showing years. See my comment to the other answer that puts it in better context.
    – kyle
    Commented May 4, 2017 at 15:05
  • 1
    @kyle The answerer is from the Netherlands where they use a comma as a decimal separator. For the UK/US (among others) this would be 1.5 - 3 years
    – TripeHound
    Commented Jul 3, 2017 at 14:20

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.