Relativistic Velocity Addition Calculator

Add velocities the way Einstein demands: 1D and 2D relativistic formulas, the inverse solver, and rapidity. For everyday speeds use the classical tool — this one is for speeds near the speed of light.

u = (v + u′) / (1 + v·u′/c²)  ·  u∥ = (u′∥ + v)/(1 + v·u′∥/c²)  ·  u⊥ = u′⊥ / (γ(1 + v·u′∥/c²))  ·  φ = artanh(u/c)

Calculator

Scope boundary: which tool for which question?

Frequently asked questions

What is the Einstein velocity addition formula?

When one frame moves at speed v and an object moves at speed u′ inside that frame (same direction), the object's speed in the ground frame is u = (v + u′) / (1 + v·u′/c²), where c = 299,792,458 m/s. The classic classroom example: v = 0.6c and u′ = 0.6c gives u = (0.6 + 0.6)/(1 + 0.36) = 0.8823529412c, not the Galilean 1.2c. This calculator evaluates that formula (and its 2D, inverse, and rapidity forms) for any subluminal inputs.

Why can the result never exceed the speed of light?

The denominator 1 + v·u′/c² always grows faster than the numerator. Even stacking 0.9c on 0.9c gives u = 1.8/1.81 = 0.9944751381c, still below c. Stacking 0.99c on 0.99c gives 1.98/1.9801 = 0.9999494975c. In the limit, c combined with anything is exactly c: (c + u′)/(1 + u′/c) = c. This is a consequence of the Lorentz transformation, not an added assumption.

How does the inverse mode work?

The inverse solver recovers the frame speed v from the observed speed u and the moving-frame speed u′ by rearranging the 1D formula: v = (u − u′) / (1 − u·u′/c²). Example: you observe u = 0.5c while the object recedes at u′ = −0.5c in the moving frame, so v = (0.5 − (−0.5))/(1 + 0.25) = 1.0/1.25 = 0.8c. Plugging v = 0.8c back into the 1D formula returns exactly u = 0.5c, which this tool checks as a round-trip.

How do you add velocities in 2D?

Put the frame motion along the x-axis at speed v. With the object's moving-frame components (u′∥, u′⊥): u∥ = (u′∥ + v)/(1 + v·u′∥/c²) and u⊥ = u′⊥ / (γ(1 + v·u′∥/c²)), where γ = 1/√(1 − v²/c²). Example: v = 0.5c, u′∥ = 0.3c, u′⊥ = 0.4c gives u∥ = 0.6956521739c, u⊥ = 0.3012262274c, magnitude 0.7580693815c at atan2(0.3012262274, 0.6956521739) = 23.4132°. Setting u′⊥ = 0 reduces exactly to the 1D formula.

What is rapidity, and why does it add linearly?

Rapidity φ = artanh(u/c) is the 'natural' measure of speed in relativity: φ = 0 at rest and grows without bound as u approaches c. Collinear boosts compose by simple addition: φ_total = φ_1 + φ_2, and u = c·tanh(φ_total) reproduces the 1D formula exactly. Example: artanh(0.6) = 0.6931471806 (= ln 2); doubling gives 1.3862943611, and c·tanh(1.3862943611) = 0.8823529412c — the same 0.6c ⊕ 0.6c result. Rapidity is additive the way angles are additive for rotations.

At everyday speeds, does the relativistic formula differ from v + u′?

Essentially never. Take v = 100 m/s and u′ = 200 m/s: the Galilean sum is 300 m/s while Einstein's formula gives 299.99999999993324 m/s — a difference of 6.6759×10⁻¹¹ m/s, about a billion times smaller than an atom. That is why the classical resultant-velocity tool is exact for all everyday speeds, and why this relativistic tool only matters when speeds reach a noticeable fraction of c. The calculator shows the classical comparison next to every result.

How is this different from the resultant velocity calculator?

They are different physics. The resultant velocity calculator (#1799) does classical (Galilean) vector addition v_res = v1 + v2, exact for v far below c. This tool does Einstein's relativistic addition, which accounts for length contraction and time dilation and keeps every result below c. Use the classical tool for cars, boats, and projectiles; use this one for particle beams, relativistic rockets, and astrophysics. The classical answer is shown here only as a comparison column, never as a mode.

Which units can I enter, and what value of c is used?

Enter any speed in m/s, km/s, or as a fraction of c (e.g. 0.6c). c is the exact SI definition 299,792,458 m/s. All inputs must be strictly below c in magnitude: massive objects cannot reach or exceed the speed of light, so the tool rejects |v| ≥ c with an explicit error instead of producing nonsense. Results are shown in all three units for convenience.

Where does the denominator 1 + v·u′/c² come from?

It comes from dividing the Lorentz-transformed differentials. If the moving frame has x′ = γ(x − vt) and t′ = γ(t − vx/c²), then the observed speed u = dx/dt and the moving-frame speed u′ = dx′/dt′ satisfy u′ = (u − v)/(1 − uv/c²); solving for u gives the addition formula. The 'extra' vx/c² term in the time transformation — the relativity of simultaneity — is what breaks simple addition.

Why does the perpendicular component get divided by gamma?

Time dilation makes the moving frame's clock run slow by γ, so transverse motion measured in the moving frame covers less ground-frame distance per ground-frame second: u⊥ = u′⊥/(γ(1 + v·u′∥/c²)). Example: a frame at v = 0.8c (γ = 1.6666666667) and a purely transverse u′⊥ = 0.6c give u∥ = 0.8c, u⊥ = 0.36c, magnitude 0.8772684880c — the transverse component is visibly 'squashed' while the parallel one follows the 1D rule.

Free tool by NRTechStudio