Cross Product Calculator — 3D Vector a × b

Calculate the cross product of two 3D vectors, find the resulting vector's magnitude and unit vector, verify orthogonality to both inputs, and compute the area of the parallelogram they span. Full determinant working shown with angle between vectors.

Quick Presets

Vector a (a₁, a₂, a₃)

Vector b (b₁, b₂, b₃)

What Is the Cross Product Calculator — 3D Vector a × b?

The cross product takes two 3D vectors and returns a third vector that is perpendicular to both inputs. Its magnitude equals the area of the parallelogram formed by the two input vectors, making it central to geometry, physics, and engineering.

  • Full determinant working — every intermediate product is shown so you can verify each arithmetic step manually.
  • Orthogonality verification — automatically checks that (a × b) · a = 0 and (a × b) · b = 0 to confirm the result is correct.
  • Unit vector — the normalised direction (a × b) / |a × b| computed to 6 decimal places, useful for normal vectors in 3D graphics.
  • Geometry outputs — parallelogram area and triangle area directly from |a × b| with no extra steps required.
  • Anticommutativity toggle — optionally shows b × a alongside a × b to verify that b × a = −(a × b).
  • Special-case detection — parallel vectors and zero vectors are identified and labelled clearly.

Formula

Cross Product — Determinant Form

a × b = | i j k |

| a₁ a₂ a₃ |

| b₁ b₂ b₃ |

Component Formulas

i = (a₂b₃ − a₃b₂)

j = −(a₁b₃ − a₃b₁)

k = (a₁b₂ − a₂b₁)

Magnitude

|a × b| = √(i² + j² + k²) = |a| |b| sin θ

Angle Between Vectors

θ = arcsin(|a × b| / (|a| × |b|))

SymbolNameDescription
aVector a3D vector with components (a₁, a₂, a₃)
bVector b3D vector with components (b₁, b₂, b₃)
a × bCross productThe perpendicular vector whose magnitude equals the parallelogram area
|a × b|Magnitude|a| |b| sin θ — equals the area of the parallelogram spanned by a and b
θAngleAngle between vectors a and b in degrees and radians
ûUnit vector(a × b) / |a × b| — direction of the cross product

How to Use

  1. 1
    Enter vector a: Type the i (x), j (y), and k (z) components for vector a. Decimals and negatives are accepted.
  2. 2
    Enter vector b: Type the i, j, k components for vector b in the same way.
  3. 3
    Choose a preset (optional): Click i × j = k, Torque, Area = 12, or General 3D to load example vectors instantly.
  4. 4
    Enable anticommutativity (optional): Tick the checkbox to also compute b × a and verify it equals −(a × b).
  5. 5
    Press Enter or Calculate: Results appear instantly: the cross product vector, magnitude, unit vector, and geometric areas.

Example Calculation

Example: a = (2, 3, 4), b = (5, 6, 7)

Given: a = (2, 3, 4), b = (5, 6, 7)

Step 1: Set up the determinant

a × b = | i j k |

| 2 3 4 |

| 5 6 7 |

Step 2: i component

i = (3×7) − (4×6) = 21 − 24 = −3

Step 3: j component

j = −((2×7) − (4×5)) = −(14 − 20) = 6

Step 4: k component

k = (2×6) − (3×5) = 12 − 15 = −3

a × b = (−3, 6, −3)

Step 5: Magnitude

|a × b| = √(9 + 36 + 9) = √54 ≈ 7.348469

Step 6: Verify orthogonality

(a × b) · a = (−3)(2) + (6)(3) + (−3)(4) = −6 + 18 − 12 = 0 ✓

(a × b) · b = (−3)(5) + (6)(6) + (−3)(7) = −15 + 36 − 21 = 0 ✓

Parallelogram area = √54 ≈ 7.3485

Triangle area = √54 / 2 ≈ 3.6742

Unit vector for this example

û = (a × b) / |a × b| = (−3, 6, −3) / √54

= (−0.408248, 0.816497, −0.408248)

Verify: |û| = √(0.1667 + 0.6667 + 0.1667) = √1 = 1 ✓

Understanding Cross Product — 3D Vector a × b

What Is the Cross Product?

The cross product is a binary operation on two 3D vectors that produces a third vector perpendicular to both inputs. Unlike the dot product — which collapses two vectors into a scalar — the cross product produces a vector, making it a uniquely 3D concept. It is undefined in 2D and has a different (exterior product) analog in higher dimensions.

The resulting vector obeys the right-hand rule: if you point your right-hand fingers in the direction of a and curl them toward b, your thumb points in the direction of a × b.

  • The magnitude |a × b| = |a| |b| sin θ, where θ is the angle between the vectors.
  • When a and b are parallel, sin θ = 0, so the cross product is the zero vector.
  • When a and b are perpendicular, sin θ = 1, so |a × b| = |a| |b| — its maximum value.
  • The cross product is anticommutative: a × b = −(b × a).
  • The cross product is distributive over addition: a × (b + c) = (a × b) + (a × c).

The Determinant Method

The standard formula for the cross product comes from expanding a symbolic 3×3 determinant with unit vectors i, j, k in the first row, vector a components in the second, and vector b components in the third:

a × b = | i j k |

| a₁ a₂ a₃ |

| b₁ b₂ b₃ |

Expanding along the first row:

i-component = +(a₂b₃ − a₃b₂)

j-component = −(a₁b₃ − a₃b₁)

k-component = +(a₁b₂ − a₂b₁)

Each component is a 2×2 minor of the matrix — the subdeterminant obtained by deleting the column of the unit vector being computed. The alternating signs (+ − +) follow the standard cofactor expansion pattern for a 3×3 determinant.

Physical Meaning of the Cross Product

The cross product appears throughout physics wherever rotation, torque, or perpendicular forces are involved:

  • Torque: τ = r × F, where r is the position vector from the rotation axis to the point of force application and F is the force. The magnitude |τ| = |r| |F| sin θ is the effective twisting force, maximised when r ⊥ F.
  • Angular momentum: L = r × p, where p = mv is linear momentum. In a rotating system, L points along the rotation axis and its magnitude gives the "spin" of the system.
  • Magnetic force: F = q(v × B), the Lorentz force on a charged particle moving at velocity v through magnetic field B. The cross product ensures the force is perpendicular to both the velocity and field.
  • Surface normals: In 3D graphics and physics simulations, the cross product of two edge vectors of a triangle gives the surface normal — the vector pointing straight out of the surface.

Right-hand rule mnemonic

Point your right-hand index finger in the direction of a, curl your middle finger toward b, and your thumb points in the direction of a × b. This works for any pair of non-parallel vectors and is the fastest way to determine the direction of the result without computing it.

Cross Product vs Dot Product

PropertyDot Product a · bCross Product a × b
Result typeScalar (a number)Vector (i, j, k components)
Formula|a| |b| cos θ|a| |b| sin θ (magnitude)
Commutative?Yes: a · b = b · aNo: a × b = −(b × a)
Zero whenVectors are perpendicularVectors are parallel
Max whenVectors are parallelVectors are perpendicular
DimensionWorks in any dimensionDefined only in 3D (or 7D)
Used forProjections, angles, workTorque, normals, area

Applications in Physics and Engineering

FieldFormulaMeaning
Mechanicsτ = r × FTorque on a rigid body
ElectromagnetismF = q(v × B)Lorentz force on a charge
Optics / EMS = E × HPoynting vector (energy flow)
Fluid dynamicsω = ½(∇ × v)Vorticity of a flow field
3D graphicsn = e₁ × e₂Surface normal for lighting
Geodesyc = a × bNormal to a great circle plane
Roboticsv = ω × rVelocity from angular velocity

Frequently Asked Questions

What is the cross product and why is it only defined in 3D?

The cross product requires three dimensions because a perpendicular to two vectors in 3D is unique (up to sign). In 2D, two non-parallel vectors already span the entire plane — there is no third direction within 2D to point to. In 4D, two vectors leave a 2D plane of perpendiculars, not a single line.

  • 2D: use the scalar "pseudo-cross product" z = a₁b₂ − a₂b₁ (the z-component only)
  • 3D: full cross product a × b returns a vector with i, j, k components
  • 4D+: use the exterior product (wedge product) instead

What does it mean for the cross product to be orthogonal to both input vectors?

The cross product c = a × b satisfies c · a = 0 and c · b = 0 by construction. Expanding:

c · a = (a₂b₃−a₃b₂)a₁ + (−(a₁b₃−a₃b₁))a₂ + (a₁b₂−a₂b₁)a₃
      = a₁a₂b₃ − a₁a₃b₂ − a₁a₂b₃ + a₂a₃b₁ + a₁a₃b₂ − a₂a₃b₁ = 0

Every term cancels in pairs. This algebraic identity holds for all a and b, not just specific cases.

Why is the cross product anticommutative (a × b = −(b × a))?

Swapping the rows of a determinant multiplies it by −1 (this is true for all square matrices). Since b × a puts b in row 2 and a in row 3 — swapping them compared to a × b — the entire result negates.

  • Geometrically: reversing the order reverses the right-hand rule direction
  • a × a = 0 for any vector a (since a × a = −(a × a) implies it is zero)
  • For unit vectors: i × j = k, but j × i = −k

When is the cross product the zero vector?

  • Parallel vectors (θ = 0° or 180°): |a × b| = |a||b|sin 0 = 0
  • Zero vector: any cross product involving 0 returns 0
  • Equal vectors: a × a = 0 always (consequence of anticommutativity)
  • Scalar multiples: if b = λa for any scalar λ, then a × b = 0

Numerically, "zero" is detected when the magnitude falls below 10⁻¹² due to floating-point limits.

How does the cross product give the area of a parallelogram?

A parallelogram with sides a and b has area = base × height = |a| × |b| sin θ = |a × b|.

  • Parallelogram area = |a × b|
  • Triangle area = |a × b| / 2 (triangle is half the parallelogram)
  • For a=(3,0,0), b=(0,4,0): area = |3×4| = 12 (a 3×4 rectangle)
  • This formula works even in 3D where the parallelogram is tilted in space

What is the relationship between cross product and the angle between vectors?

From the magnitude formula |a × b| = |a| |b| sin θ:

sin θ = |a × b| / (|a| × |b|)
θ = arcsin(|a × b| / (|a| × |b|))
  • arcsin returns 0° to 90° — good for acute angles between vectors
  • For the full angle: use cos θ = (a · b) / (|a| |b|) instead
  • Both methods agree when 0° ≤ θ ≤ 90°; differ when 90° < θ ≤ 180°

Does this calculator save my inputs?

Inputs are automatically persisted to localStorage:

  • All six components (a₁, a₂, a₃, b₁, b₂, b₃) are saved on every change
  • The anticommutativity toggle state is also preserved
  • All data stays in your browser — no server calls
  • Restored automatically when you revisit the page

Click Reset All to clear the form and delete the saved localStorage entry.

Related Calculators