MathIsimple
Vector Algebra

Cross Product Calculator

Compute 3D vector cross product, magnitude, and direction with step-by-step determinant expansion.

100% FreeLinear AlgebraWith Steps
Cross Product Calculator
Enter components for vectors a and b
Enter to calculate, Esc to clear
3D Vector Geometry
Illustrating the cross product as a perpendicular vector using the right-hand rule

Vectors a (blue) and b (violet) span a parallelogram (shaded). Their cross product a×b (indigo) points perpendicular to that plane. The magnitude of a×b equals the parallelogram area.

Axes guide: x and y are diagonal axes, z points upward from the origin.

Color map: blue = a, violet = b, indigo = a x b. Area relation: |a x b|.

Quick Examples
Click to auto-fill and try these calculations
Cross Product Quick Answer
If you need a×b\vec{a}\times\vec{b} fast: plug both 3D vectors into the calculator and read the result vector plus magnitude. The direction tells you the perpendicular axis by the right-hand rule, and the magnitude gives the area of the parallelogram formed by the two vectors. This is exactly what you need for torque, normals in 3D graphics, and orientation checks in geometry problems.
What is the Cross Product?
Geometric interpretation, formula components, and key properties

The cross product is a binary operation on two three-dimensional vectors that produces a third vector perpendicular to both inputs. Unlike the dot product — which collapses two vectors into a scalar by measuring how parallel they are — the cross product preserves directional information and measures how much the vectors span a plane. The result vector points orthogonally out of that plane, with its direction determined by the right-hand rule.

To apply the right-hand rule: point your fingers along the first vector a, curl them toward the second vector b (taking the short way around), and your extended thumb points in the direction of a × b. Reversing the order — computing b × a — points your thumb in the opposite direction, confirming anti-commutativity:

a×b=(b×a)\vec{a} \times \vec{b} = -(\vec{b} \times \vec{a})

The component formula is derived by expanding the 3×3 determinant with unit vectors i, j, k in the first row. Given a = (a₁, a₂, a₃) and b = (b₁, b₂, b₃):

  • i-component: a₂b₃ − a₃b₂
  • j-component: a₃b₁ − a₁b₃
  • k-component: a₁b₂ − a₂b₁

A critical edge case occurs when the two vectors are parallel or anti-parallel: the cross product becomes the zero vector. Intuitively, parallel vectors span a line rather than a plane, so there is no well-defined perpendicular direction and no enclosed area. The magnitude formula confirms this directly:

a×b=absinθ\|\vec{a} \times \vec{b}\| = \|\vec{a}\|\|\vec{b}\|\sin\theta

Since sin0=sin180=0\sin 0^\circ = \sin 180^\circ = 0, any pair of collinear vectors yields a zero cross product. Detecting this is a useful test for collinearity — two edges in a mesh that share a vertex and produce a zero cross product lie along the same line and define a degenerate triangle.

Applications of Cross Products
Physics, computer graphics, robotics, and engineering

The cross product appears throughout physics and engineering wherever rotation, perpendicularity, or area must be computed in three dimensions. Its most fundamental physical application is torque: when a force F is applied at position r relative to a pivot:

τ=r×F\vec{\tau} = \vec{r} \times \vec{F}

The magnitude rFsinθ\|\vec{r}\|\|\vec{F}\|\sin\theta explains why pushing a wrench at its far end (maximizing r\|\vec{r}\|) and perpendicular to the handle (maximizing sinθ=1\sin\theta = 1) produces the greatest rotational effect.

In computer graphics, surface normals are computed via the cross product of two edge vectors of a triangle. Given vertices P₀, P₁, P₂:

n=(P1P0)×(P2P0)\vec{n} = (P_1 - P_0) \times (P_2 - P_0)

This normal is essential for lighting calculations: Phong and Lambertian shading compute surface brightness as the dot product of the normal with the light direction, so an incorrect normal produces inverted or flat-looking surfaces.

Robotics and kinematics rely on cross products to compute angular velocity and rotation axes. When a rigid body rotates, the velocity of any point r on the body is v=ω×r\vec{v} = \vec{\omega} \times \vec{r}, where ω\vec{\omega} is the angular velocity vector pointing along the rotation axis. This relationship drives inverse kinematics solvers, Jacobian matrix construction, and the simulation of articulated robot arms.

For area workflows, half the cross-product magnitude gives triangle area:

Area=12e1×e2\text{Area}_{\triangle} = \frac{1}{2}\|\vec{e_1} \times \vec{e_2}\|
How To Interpret Cross Product Results
Use direction and magnitude together instead of reading only one part.

The vector A×B\vec{A} \times \vec{B} gives you two pieces of information at once: orientation in space and effective area. The direction is perpendicular to both inputs and follows the right-hand rule, while the magnitude tells you how strongly the two vectors span a plane.

A×B=ABsinθ\left\|\vec{A} \times \vec{B}\right\| = \left\|\vec{A}\right\|\left\|\vec{B}\right\|\sin\theta

This formula is practical for diagnostics. If you know both vector lengths and your computed cross-product magnitude is unexpectedly small, your vectors are close to parallel because sinθ\sin\theta is small near 00^\circ and 180180^\circ. If the magnitude is large, the vectors are closer to perpendicular, which is usually the most stable setup for geometric and engineering calculations.

A frequent mistake is to treat sign changes as numerical noise. Changing the order of vectors reverses direction exactly:

A×B=(B×A)\vec{A} \times \vec{B} = -\left(\vec{B} \times \vec{A}\right)

If your result points opposite to expectation, check vector order first before debugging arithmetic. In code, this manifests as accidentally swapping the two edge vectors when computing a surface normal, producing a face that appears lit from the wrong side.

Finally, the determinant expansion is the most reliable hand-calculation method. Arrange the 3×3 matrix with i,j,k\mathbf{i}, \mathbf{j}, \mathbf{k} in row 1, components of A\vec{A} in row 2, and components of B\vec{B} in row 3. Expand along row 1 using cofactor signs (+, −, +). Each 2×2 minor gives one component. This method scales cleanly to symbolic computation and is the basis of every computer algebra system implementation.

Further Reading & Resources

Frequently Asked Questions

Write a 3×3 matrix with unit vectors i, j, k in row 1, vector A components in row 2, and vector B components in row 3. Expand along row 1: the i-component is (a₂b₃ − a₃b₂), the j-component is −(a₁b₃ − a₃b₁), and the k-component is (a₁b₂ − a₂b₁). Combine to get the result vector.

Master Linear Algebra

Deepen your understanding of vectors, matrices, and linear transformations.

Ask AI ✨
Cross Product Calculator - 3D Vector Cross Product with Steps | MathIsimple