A 16-year-old girl:
1) "16" and "year" are linked by the hyphen to create a single term ("16-year") that modifies "old."
2) "16-year" and "old" are linked by the hyphen to create a single term ("16-year-old") that modifies "girl."

She is 16 years old:
1) "old" is a predicate adjective for "girl." (as in "She is old.") As a single-word adjective for "she," it is not joined with a hyphen to the previous adjective, "years."
2) "years" modifies "old," and "16" modifies "year. "16" and "years" are not acting as a single adjective for "old," so they, too, do not need a hyphen.

The easy way:
If the adjective string serves as a single modifier before the noun, it needs a hyphen (or hyphens, as in this case). If it is after the noun, it doesn't need a hyphen (or hyphens).

This is the same as "3-day weekend" and "The weekend has 3 days." In the first case, "3" and "day" are linked to create a single term that modifies "weekend." In the second case, "days" is the object of "has," and "3" is a modifier for "days."


Of numerals, the ‘Longman Student Grammar of Spoken and Written English’ says they 'form a rather self-contained area of English grammar' and goes on to see them as determiners and, as such, similar to quantifiers. By that reckoning, the numeral in the sentence She is 16 years old is grammatically no different from several in the (semantically unlikely) sentence She is several years old.

Of phrases like a sixteen-year-old girl, the 'Cambridge Grammar of English' says ‘Singular forms are used as modifiers before nouns in plural measuring expressions’ and gives as examples a three-month old baby, a five-pound note.


This comes from the rule of no plurals in compounds - English generally forbids regular plurals (ending with -s) from being followed by another word in a compound. In other words, when you form a compound, only the last word is allowed to be plural.

Thus, "16-year-old", not "16-years-old". For the same reason, a cat who catches rats is a rat-catcher (not a rats-catcher), a table that displays times is a timetable (not a timestable), etc.


Actually, in the second example, years functions as a noun, not an adjective. Old is the adjective here. In example 1, the adjective is 16-year-old. When you join words together with hyphens before a noun, you turn them all into a qualifier of the noun that follows, in your example the girl.


What is happening is that, in

She is 16 years old.

"old" is an adjective modifying "she", and "16 years" is a noun phrase that is acting as an adverb and modifying "old". You can see this by looking at similar sentences:

The festival was a week long.

Here, "a week" is a noun phrase modifying "long". You can tell that it's a noun because you need to put the article "a" before it. When you put the modifier before "festival", you get "The week-long festival". You have to drop the article, because now "week-long" is an adjective.

In English, I believe (now watch somebody prove me wrong) that adjective phrases of this type before nouns cannot be more complicated than the form number-unit-adjective, where the adjective is restricted to some set of adjectives (deep, thick, long, tall, high, wide, late, early, and so on; I don't know whether this class of adjectives has a name). So you can have phrases like

a 1000-foot-deep lake,
a two-hour-late train,
a 10,000-man-strong army.

When they're not immediately before the nouns they modify, you can have much more complicated phrases.

The lake was a strenuous four-hour hike up the mountain.

Here "a strenuous four-hour hike" is a noun phrase acting as an adverb and modifying the preposition "up". If you try to make this into an adjective coming before "lake", you find it's impossible in English. Certainly, anything like "*the strenuous-four-hour-hike-distant lake" is bad grammar.