Mechanics

Terminal Velocity

When air drag balances gravity — falling objects stop accelerating, reach a constant speed

Terminal velocity is the constant maximum speed reached by a falling object when air drag exactly balances gravity. After enough fall distance, drag (which grows with v²) catches up to gravity (which is constant), and the object stops accelerating. For a skydiver in normal posture, v_terminal ≈ 53 m/s (120 mph); in spread-eagle, ~50 m/s; head-first, 90 m/s. Critical for skydiving, bombs, raindrops, and atmospheric reentry.

  • ConditionDrag = Gravity → no net force → constant velocity
  • Drag formula (high speed)F_drag = ½·ρ·C_d·A·v²
  • Terminal velocityv_t = √(2mg/(ρ·C_d·A))
  • Skydiver (normal)~53 m/s (120 mph)
  • Raindrop (small)~9 m/s
  • Hailstone (1 cm)~14 m/s

Interactive visualization

Press play, or step through manually. The visualization is yours to drive — try it before reading on.

Open visualization fullscreen ↗

Watch the 60-second explainer

A condensed visual walkthrough — narrated, captioned, under a minute.

The setup

An object falls in air. Forces:

  • Gravity — F_g = mg (constant, downward).
  • Air drag — F_drag = ½·ρ·C_d·A·v² (upward, opposing motion).

where ρ is air density, C_d is drag coefficient (depends on shape), A is cross-sectional area perpendicular to motion, v is velocity.

At terminal velocity, F_g = F_drag — net force is zero, no further acceleration:

m·g = ½·ρ·C_d·A·v_t²
v_t = √(2mg / (ρ·C_d·A))

Common terminal velocities

ObjectApprox. v_tNotes
Mist droplet (~0.01 mm)0.001 m/sAlmost suspended
Drizzle drop (0.5 mm)~2 m/sLight rain
Heavy raindrop (~3 mm)~9 m/sSteady rain
Hail (1 cm diameter)~14 m/sDamaging hailstones
Snowflake~1 m/sVery low because of large surface
Ping-pong ball (no spin)~9 m/sLight + small
Bowling ball~80-90 m/sHeavy + smooth
Skydiver (spread-eagle)~50 m/s (115 mph)Max area
Skydiver (head-first)~90 m/s (200 mph)Min area
Penny dropped from skyscraper~25 m/sMythbusters: not lethal, just stings
Bullet (0.45 ACP)~46 m/sFalling straight down
Felix Baumgartner (39 km altitude)377 m/sAbove sound barrier

Approach to terminal velocity

Object starts at rest, accelerates under gravity. Drag increases as v². Eventually:

PhasevBehavior
Initial fallv ≪ v_tMostly gravity; a ≈ g
Mid-fallv ~ ½·v_tDrag becoming significant
Approach to terminalv → v_tDrag nearly balances gravity
Terminalv = v_tConstant speed

Mathematically (with quadratic drag):

v(t) = v_t · tanh(g·t / v_t)

So v reaches ~99% of v_t after t ≈ 2.65·v_t/g. For a skydiver (v_t = 53 m/s), this is ~14 seconds — and ~370 m of fall.

JavaScript — terminal velocity calculations

// Terminal velocity from physical parameters
function terminalVelocity(mass, area, dragCoeff = 1.0, airDensity = 1.225) {
  return Math.sqrt(2 * mass * 9.81 / (airDensity * dragCoeff * area));
}

// Skydiver
console.log(`Spread-eagle: ${terminalVelocity(75, 0.7, 1.0).toFixed(1)} m/s`); // ~50
console.log(`Head-first:   ${terminalVelocity(75, 0.18, 0.7).toFixed(1)} m/s`); // ~90

// Raindrop (1mm radius, water density 1000 kg/m³)
const r = 0.001;  // 1 mm
const m_drop = (4/3) * Math.PI * Math.pow(r, 3) * 1000;
const A_drop = Math.PI * r * r;
console.log(`1mm raindrop: ${terminalVelocity(m_drop, A_drop, 0.5).toFixed(1)} m/s`); // ~6

// Numerical simulation: position vs time with drag
function simulateFall(mass, area, dragCoeff = 1.0, airDensity = 1.225, dt = 0.01, max_time = 30) {
  let v = 0, y = 0;
  const data = [{ t: 0, v: 0, y: 0 }];
  for (let t = dt; t < max_time; t += dt) {
    const dragForce = 0.5 * airDensity * dragCoeff * area * v * v;
    const F = mass * 9.81 - dragForce;  // gravity minus drag
    v += (F / mass) * dt;
    y += v * dt;
    if (Math.abs(t * 100 - Math.round(t * 100)) < dt) {
      data.push({ t, v, y });
    }
  }
  return data;
}

// Skydiver fall
const skydive = simulateFall(75, 0.7, 1.0);
const v_t_actual = terminalVelocity(75, 0.7, 1.0);
const data99 = skydive.find(d => d.v > 0.99 * v_t_actual);
console.log(`Skydiver reaches 99% of terminal v at t = ${data99?.t.toFixed(1)} s`);

// Analytical: v(t) = v_t · tanh(g·t/v_t)
function vAtTime(t, v_t, g = 9.81) {
  return v_t * Math.tanh(g * t / v_t);
}

console.log(`Skydiver at t=5s: ${vAtTime(5, v_t_actual).toFixed(1)} m/s`); // close to terminal already
console.log(`Skydiver at t=15s: ${vAtTime(15, v_t_actual).toFixed(1)} m/s`); // ~99.99% of terminal

// At what altitude does air density change v_t much?
function densityAtAltitude(altitude_m) {
  // Simple exponential: ρ(h) = ρ_0 * exp(-h/H)
  const H = 8000;  // scale height
  return 1.225 * Math.exp(-altitude_m / H);
}

// At 39 km altitude, density is...
console.log(`Density at 39 km: ${densityAtAltitude(39000).toExponential(2)} kg/m³`); // very thin
const v_t_39km = terminalVelocity(75, 0.18, 0.7, densityAtAltitude(39000));
console.log(`Terminal v at 39 km: ${v_t_39km.toFixed(0)} m/s`);  // very high

Where terminal velocity matters

  • Skydiving and parachuting. Terminal velocity in different postures; parachute design for safe landing speeds.
  • Atmospheric science. Raindrop and hail formation, air pollution settling rates, snow/cloud particle dynamics.
  • Ballistics. Falling bullets, dropped objects from buildings — how dangerous? (Spoiler: pennies from the Empire State don't kill you).
  • Aeronautics. Aircraft drop tests, parachute system design, ejection seat physics.
  • Reentry physics. Spacecraft heating during atmospheric reentry — at orbital speed, "terminal velocity" is irrelevant; spacecraft must slow via aerodynamic friction (heat shields).
  • Sport science. Falling objects in BASE jumping, wingsuit flight (lift in addition to drag).
  • Geology. Sediment deposition rates in fluids — Stokes' law version for low Reynolds (small particles).

Common mistakes

  • Thinking heavier objects always fall faster. True only when drag is significant. In vacuum, all objects fall at g. With drag, terminal v depends on mass/area ratio.
  • Forgetting drag is quadratic in v at high speeds. Linear drag (F = -bv) only applies at very low speeds (small particles in fluids, "Stokes drag"). High speeds: F ~ -v²·ρ·C_d·A.
  • Assuming terminal velocity is reached instantly. Takes time — for a skydiver, ~12-15 seconds and ~300-400 m. Many fall scenarios end before reaching terminal.
  • Ignoring shape effects. Drag coefficient C_d varies hugely — flat plate ~1.28, sphere ~0.47, smooth car ~0.3, optimized cyclist ~0.17. Shape matters.
  • Forgetting air density change with altitude. At 10 km up, air is ~1/3 of sea-level density; terminal velocity is √3 times higher.
  • Confusing terminal velocity with maximum velocity. "Maximum" usually means top speed reached. Terminal velocity is the asymptotic limit. They're equal only after enough fall distance.

Frequently asked questions

Why does air resistance grow with v² (not v)?

At high speeds, the drag force comes from accelerating air mass. An object moving at v hits a column of air per second proportional to v (its volume swept) and accelerates that air to speed ~v (also proportional to v). Force = mass × acceleration ~ (mass per time) × velocity ~ ρ·v·v = ρv². At very low speeds (small particles in fluids), Stokes drag F ~ -bv (linear in v). The transition depends on Reynolds number.

What determines terminal velocity?

Setting drag = gravity — ½·ρ·C_d·A·v² = m·g, solve for v: v_t = √(2mg/(ρ·C_d·A)). Heavier mass — higher v_t (more force pulling down). Larger area or higher drag coefficient — lower v_t (more resistance). Higher air density — lower v_t (denser air resists more).

Why does a feather fall slower than a stone?

Both experience gravity (mg) and air drag. Stone: small area, large mass → high terminal v. Feather: large area, small mass → very low terminal v (~1-2 m/s). They reach equilibrium at very different speeds. In vacuum, all objects fall at g (Galileo demonstrated; Apollo 15 famously did on the Moon).

How does posture affect a skydiver's terminal velocity?

Spread-eagle (max area) — ~50 m/s. Normal (smaller area) — ~53 m/s. Head-first (least area) — ~90 m/s. Differences come from area A and drag coefficient C_d. World record skydive (Felix Baumgartner, 2012) reached 1,357 km/h (~377 m/s) — but that was at very high altitude where air is thin.

Why don't rain drops land faster than ~10 m/s?

Small raindrops (1-2 mm) reach terminal velocity 6-10 m/s in seconds. Large raindrops (5-6 mm) about 9-10 m/s (limited because larger drops break apart). The wind resistance balances gravity quickly because drops are small. Hail can reach 14 m/s for 1 cm stones, faster for larger.

How does terminal velocity vary with altitude?

Air density ρ decreases exponentially with altitude. At high altitudes, less drag, higher terminal velocity. Felix Baumgartner's stratospheric jump (39 km up): air density ~0.4% of sea level, terminal v reached ~377 m/s (sound barrier broken). Standard skydives from 4 km only reach ~50-60 m/s.

What's the terminal velocity of a meteor or reentering spacecraft?

Reentering spacecraft hits atmosphere at orbital speeds (~7,800 m/s) — way above any "terminal velocity." Drag is so high that it heats the surface to thousands of degrees. As it slows, terminal velocity DROPS as the spacecraft slows AND atmospheric density rises. Final touchdown is below 100 m/s typically (with parachutes deployed for further deceleration).