← Projects

How to look taller in a mirror

Exploration · optics and geometry · March 14, 2021

On March 14, 2021, I was out shopping with friends at a Uniqlo in Manhattan and noticed I looked taller in the store mirror, which was slanted back against the wall. Stores do this on purpose, and I wanted the exact angle. Finding it sounds like a one-line optimization, but the real work turned out to be deciding what “looks tallest” even means. It means at least three different things, and they disagree.

≈ 21°
Best back-tilt, if you anchor on your own eyes
+10%
Apparent-height gain over a vertical mirror
0° → 21°
How far the answer swings with what you look at

Before the math, play with it. Drag the tilt and watch two things fight: the reflection recedes (good) while the angle it fills shrinks (bad). Where distance wins, you look taller.

youyour reflectionvirtual cameramirror
21°back-tilt
22.8°angle it fills
2.58×how far it sits
+10.0%apparent height vs. flat

youreflectionglass it coversangle it fills

Three things “tallest” can mean

Stand a distance d from a mirror that pivots where it meets the floor, and lean it back by an angle θ. “Appears tallest” sounds self-evident, but it hides at least three genuinely different quantities:

These are different functions of the tilt, and one of them points the wrong way.

Why raw angular size misleads

If “looks big” just meant “fills the largest angle in my visual field,” the best move would be to tilt the mirror toward you, so the image looms up close. But a looming, close, high-angle view reads as shorter and squatter, not taller. In fact, for the natural case where your eye-height equals your standing distance, the subtended angle α only decreases as you lean back (26.6° at vertical, 22.8° by 21°). Raw angular size says to never lean back, which is the opposite of what everyone observes. Angular size ignores distance, and your eyes don’t.

Size constancy

You don’t perceive retinal size; you perceive retinal size scaled by how far away something looks (this is “size constancy”). For an object subtending angle α at distance D, the reconstructed height is S = 2·D·tan(α/2). Leaning the mirror back trades a little angular size for a lot of distance: the image recedes, and when the distance term wins, you look taller. So the perceptually honest objective is S, not α.

There’s one real complication: your reflection is an extended, depth-tilted object whose head and feet sit at different distances, so D isn’t a single number. You have to pick which point of yourself to anchor it on, and that choice swings the answer across the entire range from vertical to about 21°.

So the answer depends on where you look

What you optimizeOptimal back-tilt
Raw angle your reflection subtendsforward tilt (leaning back never helps)
Perceived size, anchored at your feet≈ 0° (vertical)
Perceived size, anchored at your body’s center≈ 12°
Occupied glass — my 2021 answer≈ 19.5°
Perceived size, anchored at your eyes≈ 21°

Canonical case: eye-height equals standing distance (h = d).

When you lean the mirror back, the image of your eye sits high and swings far away, so its distance climbs steeply, and that recession is what lets back-tilt win. The image of your foot sits at the floor by the pivot and barely moves. Anchor low and there’s almost no recession to trade on, so the shrinking angle wins and the best tilt slides back to vertical. Anchor on your face and you get the full recession, which is where the ≈ 21° comes from. Since people make eye contact with their own reflection, the face anchor is the natural default.

anchored at your eyesoccupied glassanchored at your centeranchored at your feetraw angle it fills
Every objective on one chart, each curve normalized to its own value at a vertical mirror (h = d). The three perceived-height curves differ only in which point of the reflection sets the distance; moving the anchor from feet to eyes slides the peak from 0° to 21°. Occupied glass peaks nearby at 19.5°, and the raw subtended angle only falls. All the peaks are broad, which is presumably how stores land on a good tilt by eye.

The virtual-camera picture

A flat mirror shows you exactly what a camera placed at your eye’s reflection would capture, looking back at the real you. Lean the mirror back and that virtual camera drops low and far — the classic low-angle hero shot that makes anyone look tall and long-legged. Lean it forward and the camera goes high and near, and you loom and look squat. That one picture is the whole explanation: back-tilt helps because of perspective rather than raw size, and it helps most when you anchor on your head.

Stand farther away and the whole structure collapses: as d → ∞ every optimum slides to vertical and they all converge. The interesting spread is a near-field effect: standing closer widens it, backing away closes it.

What I tried in 2021

Back then, sitting on the train home with a Desmos tab open, I ran straight into the objection that makes this problem interesting: a flat mirror’s image of you is always exactly your height. It stands behind the glass, life-sized, at every tilt. So “looks taller” can’t mean the image grows, and I didn’t know how to write down what my eyes were clearly reporting instead. I settled for an objective I could compute: the occupied glass, the length of mirror your reflection physically covers. Maximizing that gave ≈ 19.5°.

Coming back to the problem years later, that answer turns out to be almost right, for a non-obvious reason: the image of your eye sits at exactly twice the perpendicular eye-to-glass distance (D_eye = 2ℓ), so the footprint on the glass is a faithful, half-scale proxy for the perceived image. The 1.5° between “fills the most glass” (19.5°) and “looks tallest” (21°) comes from the image’s slight depth tilt, the same low-angle lean that reads as a flattering “hero shot.” What my 2021 answer really missed is that there is no single answer at all. The optimum moves with the point you anchor on.

Just scan the curve

Every optimum is just the θ that maximizes a 1-D function. The peaks are extremely flat, so a fine scan works as well as anything:

import math
h = d = 1.7                      # only the ratio h/d matters

alpha = lambda t: math.atan((h/(2*d))/math.cos(t)**2 + math.tan(t)) - t
glass = lambda t: h*math.cos(t)*(d*math.cos(t)+h*math.sin(t)) \
                              / (2*d*math.cos(t)+h*math.sin(t))
D_eye = lambda t: 2*(d*math.cos(t) + h*math.sin(t))
perceived = lambda t, D: 2*D*math.tan(alpha(t)/2)

# scan theta over [-10deg, 45deg] in 0.005deg steps; take the argmax
# glass        -> 19.5deg   (occupied-glass, the original formula)
# perceived,D_eye -> 21deg  (eye-anchored, "looks tallest")

How to actually tilt it

Once you’ve settled what you mean (perceived height, anchored on your own eyes), the optimization is the easy part: lean the mirror back about 20° and stand closer rather than farther. The peak is broad enough that you don’t need to be exact, which is presumably how fitting rooms land on it by eye, without anyone stopping to define “tallest.”

One deflating possibility for the store mirror that started all this: a freestanding mirror propped against a wall stays put at roughly the angle where its base won’t slide out from under it, which lands around 20°. So the flattering tilt and the not-falling-over tilt may just be the same angle, and no merchandising committee ever had to meet.