This is the most common point of confusion for learners. They both translate to “short,” but are not interchangeable.
矮 (ǎi): For vertical height. Use it for people, trees, buildings, mountains, tables, chairs. (Opposite: 高 gāo - tall/high).
短 (duǎn): For length or duration. Use it for ropes, roads, hair, pants, stories, time, speeches. (Opposite: 长 cháng - long).
Example of Incorrect Usage:
Incorrect: 我的头发很矮。 (Wǒ de tóufa hěn ǎi.)
Why it's wrong: Hair has length, not vertical stature. You are describing the length of the strands.
Correct: 我的头发很短。 (Wǒ de tóufa hěn duǎn.)
Example of Incorrect Usage:
Incorrect: 他个子很短。 (Tā gèzi hěn duǎn.)
Why it's wrong: A person's stature (个子 gèzi) is a measure of height, not length. This sentence is grammatically incorrect and sounds very strange to a native speaker.
Correct: 他个子很矮。 (Tā gèzi hěn ǎi.)
Connotation: Be mindful when calling someone 矮. While it can be a neutral, factual description, using it directly to a person can be considered rude or insensitive, similar to calling someone “shorty” in English.