Visual Tools
Calculators
Tables
Mathematical Keyboard
Converters
Other Tools


Cross Product






A Product That Builds Perpendicular Vectors

The cross product stands apart from every other operation in this section. It takes two vectors and returns a new vector — one that is perpendicular to both inputs. Its magnitude measures the area of the parallelogram the two vectors span, and its direction is determined by a handedness convention that introduces orientation into three-dimensional space. Unlike the dot product, which works in any Rn\mathbb{R}^n and produces a scalar, the cross product is defined exclusively in R3\mathbb{R}^3 and produces a vector. It is anti-commutative, not associative, and zero precisely when the two inputs are parallel. These departures from familiar algebraic patterns are not defects — they reflect the geometric nature of perpendicularity and area in three dimensions.



Algebraic Definition

Given a=(a1,a2,a3)\mathbf{a} = (a_1, a_2, a_3) and b=(b1,b2,b3)\mathbf{b} = (b_1, b_2, b_3) in R3\mathbb{R}^3, their cross product is a new three-component vector built from pairwise differences of mixed products:

Cross Product (Component Form)
a×b=(a2b3a3b2, a3b1a1b3, a1b2a2b1)\mathbf{a} \times \mathbf{b} = (a_2 b_3 - a_3 b_2,\ a_3 b_1 - a_1 b_3,\ a_1 b_2 - a_2 b_1)
Learn more about this formula: Cross Product (Component Form) →


The indices rotate cyclically. To obtain the first component, cover the first entries of both vectors and cross-multiply the remaining pairs: a2b3a3b2a_2b_3 - a_3b_2. For the second component, cover the second entries and cross-multiply with a sign reversal: a3b1a1b3a_3b_1 - a_1b_3. The third component follows the same logic with the third entries hidden: a1b2a2b1a_1b_2 - a_2b_1.

A convenient way to package the computation uses a symbolic 3×33 \times 3 determinant whose first row holds the standard basis vectors:

Cross Product (Determinant Form)
a×b=ijka1a2a3b1b2b3\mathbf{a} \times \mathbf{b} = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \end{vmatrix}
Learn more about this formula: Cross Product (Determinant Form) →


Placing vectors rather than numbers in the top row makes this a notational device rather than a genuine determinant. Still, applying cofactor expansion along that top row reproduces the component formula term by term. The determinant layout keeps the six constituent products and their signs organized in a form that is easy to remember and hard to scramble.

Standard Basis Cross Products

Crossing pairs of the standard basis vectors i=(1,0,0)\mathbf{i} = (1,0,0), j=(0,1,0)\mathbf{j} = (0,1,0), k=(0,0,1)\mathbf{k} = (0,0,1) produces a pattern governed by cyclic order:

Standard Basis Cross Products
i×j=k,j×k=i,k×i=j\mathbf{i} \times \mathbf{j} = \mathbf{k}, \quad \mathbf{j} \times \mathbf{k} = \mathbf{i}, \quad \mathbf{k} \times \mathbf{i} = \mathbf{j}
Learn more about this formula: Standard Basis Cross Products →


Swapping the two factors in any of these pairs flips the sign:

j×i=k,k×j=i,i×k=j\mathbf{j} \times \mathbf{i} = -\mathbf{k}, \quad \mathbf{k} \times \mathbf{j} = -\mathbf{i}, \quad \mathbf{i} \times \mathbf{k} = -\mathbf{j}


The organizing principle is a directed loop ijki\mathbf{i} \to \mathbf{j} \to \mathbf{k} \to \mathbf{i}. Traversing it in the forward direction yields a positive basis vector; going against the loop negates the outcome. Any basis vector crossed with a copy of itself gives 0\mathbf{0}: i×i=j×j=k×k=0\mathbf{i} \times \mathbf{i} = \mathbf{j} \times \mathbf{j} = \mathbf{k} \times \mathbf{k} = \mathbf{0}.

Every cross product in R3\mathbb{R}^3 can be traced back to these nine cases. Expressing both input vectors as linear combinations of i\mathbf{i}, j\mathbf{j}, k\mathbf{k} and distributing the cross product over the resulting sums reduces the computation to a collection of basis-pair cross products. Gathering terms afterward recovers the component formula.

The nine pairings sit in one lookup grid below, with the left input vector indexing the rows and the right input indexing the columns.
a × b b = i b = j b = k
a = i 0 k −j
a = j −k 0 i
a = k j −i 0

Geometric Interpretation

The cross product carries geometric content on two distinct levels — one captured by its length, the other by its orientation in space.

The magnitude satisfies:

Cross Product Magnitude
a×b=absinθ\|\mathbf{a} \times \mathbf{b}\| = \|\mathbf{a}\|\,\|\mathbf{b}\|\sin\theta
Learn more about this formula: Cross Product Magnitude →


where θ\theta is the angle separating a\mathbf{a} and b\mathbf{b}. The product absinθ\|\mathbf{a}\|\,\|\mathbf{b}\|\sin\theta has a clean geometric reading: it is the area enclosed by the parallelogram whose adjacent sides are a\mathbf{a} and b\mathbf{b}:

Parallelogram Area
Area=a×b\text{Area} = \|\mathbf{a} \times \mathbf{b}\|
Learn more about this formula: Parallelogram Area →


At θ=π2\theta = \frac{\pi}{2} the sine reaches 11 and the parallelogram attains its largest possible area for those two lengths — a rectangle. At θ=0\theta = 0 or θ=π\theta = \pi the sine vanishes, the two sides collapse onto the same line, and the enclosed area drops to zero.

The direction of a×b\mathbf{a} \times \mathbf{b} sits at a right angle to both a\mathbf{a} and b\mathbf{b} simultaneously. An algebraic confirmation is straightforward: evaluate a(a×b)\mathbf{a} \cdot (\mathbf{a} \times \mathbf{b}) and b(a×b)\mathbf{b} \cdot (\mathbf{a} \times \mathbf{b}) component by component, and both dot products reduce to zero. The cross product therefore solves a problem that no other operation in the section addresses — it constructs a direction that exits the plane spanned by two given vectors.

Direction and the Right-Hand Rule

A plane in R3\mathbb{R}^3 has two unit normals — they point in opposite directions, and the magnitude formula alone cannot choose between them. Resolving this ambiguity requires an external convention: the right-hand rule.

The procedure is physical: align the fingers of the right hand along a\mathbf{a} and curl them toward b\mathbf{b} through the shorter arc. The extended thumb then indicates which of the two perpendicular directions a×b\mathbf{a} \times \mathbf{b} adopts.

Switching the operands — computing b×a\mathbf{b} \times \mathbf{a} instead — reverses the curl direction, sending the thumb the opposite way. This is the geometric engine behind anti-commutativity: the two cross products share the same length but face in opposite directions.

Embedded in the right-hand rule is the concept of orientation. A coordinate system is called right-handed when i×j\mathbf{i} \times \mathbf{j} points along k\mathbf{k}; a left-handed system would have it pointing along k-\mathbf{k}. The cross product is sensitive to this distinction — adopting the opposite handedness convention would reverse every cross product in R3\mathbb{R}^3. No such sensitivity appears in the dot product or in any operation on R2\mathbb{R}^2, making orientation a phenomenon particular to three-dimensional vector multiplication.

Properties of the Cross Product

Several algebraic rules govern the cross product, some mirroring the basic operations and others breaking from them sharply.

Anti-Commutativity


Cross Product Anti-Commutativity
a×b=(b×a)\mathbf{a} \times \mathbf{b} = -(\mathbf{b} \times \mathbf{a})
Learn more about this formula: Cross Product Anti-Commutativity →


Exchanging the two inputs flips the output vector. In the language of the right-hand rule, reversing which vector the fingers follow and which they curl toward sends the thumb the other way.

Distributivity


a×(b+c)=a×b+a×c\mathbf{a} \times (\mathbf{b} + \mathbf{c}) = \mathbf{a} \times \mathbf{b} + \mathbf{a} \times \mathbf{c}


The cross product spreads across sums on either side. Because of anti-commutativity, distributing from the right introduces a sign change relative to distributing from the left.

Scalar Factoring


(ca)×b=c(a×b)=a×(cb)(c\mathbf{a}) \times \mathbf{b} = c(\mathbf{a} \times \mathbf{b}) = \mathbf{a} \times (c\mathbf{b})


A scalar coefficient can migrate freely between the inputs and the output. This makes the cross product linear in each slot independently.

Non-Associativity


a×(b×c)(a×b)×cin general\mathbf{a} \times (\mathbf{b} \times \mathbf{c}) \neq (\mathbf{a} \times \mathbf{b}) \times \mathbf{c} \quad \text{in general}


Regrouping the factors produces a different vector. This stands in stark contrast to addition and scalar multiplication, where parentheses can be shifted without consequence. The vector triple product expansion provides a workaround for simplifying nested cross products:

Vector Triple Product
a×(b×c)=(ac)b(ab)c\mathbf{a} \times (\mathbf{b} \times \mathbf{c}) = (\mathbf{a} \cdot \mathbf{c})\,\mathbf{b} - (\mathbf{a} \cdot \mathbf{b})\,\mathbf{c}
Learn more about this formula: Vector Triple Product →


A related identity, due to Lagrange, expresses the dot product of two cross products as a determinant of pairwise dot products:

Lagrange Identity
(a×b)(c×d)=(ac)(bd)(ad)(bc)(\mathbf{a} \times \mathbf{b}) \cdot (\mathbf{c} \times \mathbf{d}) = (\mathbf{a} \cdot \mathbf{c})(\mathbf{b} \cdot \mathbf{d}) - (\mathbf{a} \cdot \mathbf{d})(\mathbf{b} \cdot \mathbf{c})
Learn more about this formula: Lagrange Identity →


Setting c=a\mathbf{c} = \mathbf{a} and d=b\mathbf{d} = \mathbf{b} recovers the magnitude identity a×b2=a2b2(ab)2\|\mathbf{a} \times \mathbf{b}\|^2 = \|\mathbf{a}\|^2\|\mathbf{b}\|^2 - (\mathbf{a} \cdot \mathbf{b})^2, which is equivalent to sin2θ=1cos2θ\sin^2\theta = 1 - \cos^2\theta.

Self-Cross Product


a×a=0\mathbf{a} \times \mathbf{a} = \mathbf{0}


Crossing a vector with itself always returns the zero vector. Anti-commutativity forces this: a×a=(a×a)\mathbf{a} \times \mathbf{a} = -(\mathbf{a} \times \mathbf{a}) has the unique solution 0\mathbf{0}. From the geometric side, a single vector does not span any area — the parallelogram degenerates to a segment — and no unique perpendicular direction can be extracted.
Property Formula Note
Anti-commutativity a × b = −(b × a) swapping inputs flips the output vector
Distributivity a × (b + c) = a × b + a × c spreads over sums on either side
Scalar factoring (ca) × b = c(a × b) = a × (cb) scalars migrate freely; linear in each slot
Non-associativity a × (b × c) ≠ (a × b) × c parenthesization changes the result; triple product expansion gives a workaround
Self-cross product a × a = 0 forced by anti-commutativity; no area, no unique perpendicular

Parallel Vectors and the Cross Product

The cross product furnishes a clean test for parallelism:

Parallelism Test (Cross Product)
a×b=0    ab\mathbf{a} \times \mathbf{b} = \mathbf{0} \iff \mathbf{a} \parallel \mathbf{b}
Learn more about this formula: Parallelism Test (Cross Product) →


Parallel vectors sit along the same line, so the angle between them is 00 or π\pi. In either case sinθ\sin\theta vanishes, collapsing the magnitude a×b=absinθ\|\mathbf{a} \times \mathbf{b}\| = \|\mathbf{a}\|\,\|\mathbf{b}\|\sin\theta to zero. A zero magnitude forces the cross product itself to be 0\mathbf{0}. The zero vector is parallel to every vector by convention, so the test absorbs the edge cases naturally.

This criterion pairs naturally with the dot product's test for orthogonality. A vanishing dot product signals perpendicularity; a vanishing cross product signals collinearity. The two tests cover opposite ends of the angular spectrum — maximum separation versus no separation at all — and between them, any angular configuration of two vectors in R3\mathbb{R}^3 can be diagnosed.

The Scalar Triple Product

Three vectors in R3\mathbb{R}^3 can be combined into a single scalar by nesting the cross product inside a dot product:

a(b×c)\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c})


The inner operation b×c\mathbf{b} \times \mathbf{c} yields a vector orthogonal to both b\mathbf{b} and c\mathbf{c}, whose length equals the area of the parallelogram they outline. The outer dot product then projects a\mathbf{a} onto that orthogonal direction, effectively extracting the component of a\mathbf{a} that rises out of the b\mathbf{b}-c\mathbf{c} plane. Multiplying base area by height produces a volume: the result is the signed volume of the parallelepiped whose edges are a\mathbf{a}, b\mathbf{b}, c\mathbf{c}.

Taking the absolute value strips the sign and gives the true geometric volume of the parallelepiped:

Parallelepiped Volume
V=a(b×c)V = |\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c})|
Learn more about this formula: Parallelepiped Volume →


The sign itself records handedness — it is positive when the triple a\mathbf{a}, b\mathbf{b}, c\mathbf{c} follows the right-hand convention and negative when it does not.

The tetrahedron (triangular pyramid) with edges a\mathbf{a}, b\mathbf{b}, c\mathbf{c} from a common vertex occupies exactly one-sixth of this parallelepiped:

Pyramid Volume
V=16a(b×c)V = \tfrac{1}{6}|\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c})|
Learn more about this formula: Pyramid Volume →


The factor 16\tfrac{1}{6} arises as 13\tfrac{1}{3} (the general pyramid factor V=13baseheightV = \tfrac{1}{3} \cdot \text{base} \cdot \text{height}) times 12\tfrac{1}{2} (the triangular base is half the parallelogram base).

An equivalent computation arranges the nine components into a 3×33 \times 3 determinant:

Scalar Triple Product
a(b×c)=a1a2a3b1b2b3c1c2c3\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c}) = \begin{vmatrix} a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \\ c_1 & c_2 & c_3 \end{vmatrix}
Learn more about this formula: Scalar Triple Product →


A zero determinant means the parallelepiped has been flattened — the three vectors are coplanar, all confined to a single plane with no volume between them.

Dot Product vs Cross Product

The two multiplication operations available for vectors occupy complementary niches, and contrasting them sharpens the purpose of each.

At the most basic level, they differ in what comes out: the dot product delivers a number, while the cross product delivers a vector. They also differ in scope — the component-wise sum of products behind the dot product generalizes to any Rn\mathbb{R}^n, whereas the cross product's reliance on three-component determinants confines it to R3\mathbb{R}^3.

Order sensitivity separates them further. Swapping the operands in a dot product changes nothing; swapping them in a cross product reverses the resulting vector entirely. This distinction — commutativity versus anti-commutativity — reflects a deeper geometric divide. The dot product is insensitive to handedness; the cross product is built on it.

The conditions under which each product vanishes tell opposite stories. A zero dot product flags perpendicularity: the vectors share no directional overlap. A zero cross product flags collinearity: the vectors lie along the same line and enclose no area. One detects maximum angular separation; the other detects none at all.

Taken together, the two products partition the angular information between a pair of vectors in R3\mathbb{R}^3 without overlap. The dot product isolates the cosθ\cos\theta factor — the projection of one vector onto the other. The cross product isolates the sinθ\sin\theta factor — the extent to which the vectors diverge from each other's direction, packaged as a perpendicular vector whose length records the enclosed area. Every geometric relationship between two vectors in three dimensions can be read from these two numbers.
Attribute Dot product Cross product
Output type scalar (number) vector
Domain any ℝn only ℝ3
Order sensitivity commutative: a · b = b · a anti-commutative: a × b = −(b × a)
Zero means perpendicular (θ = π/2) parallel (θ = 0 or π)
Angular factor extracted cos θ sin θ
Geometric reading projection of one vector onto the other area of the parallelogram they span

Summary of Cross Product Uses

The preceding sections put the cross product to a small set of distinct uses — measuring the area of a parallelogram, constructing a vector perpendicular to a given plane, testing whether two vectors are parallel, computing the volume of a parallelepiped through the scalar triple product, and reducing nested cross products through the vector triple product expansion. The table below collects these uses in one place: each row pairs a geometric or algebraic result with the formula that delivers it and a one-line statement of what that result captures.
Result Formula What it captures
Area of a parallelogram ‖a × b‖ = ‖a‖ ‖b‖ sin θ size of the region spanned by a and b
Perpendicular direction a × b ⊥ a  and  a × b ⊥ b a vector normal to the plane of a and b
Test for parallelism a × b = 0 ⇔ a ∥ b detects when two vectors are collinear
Right-handed orientation i × j = k (by convention) resolves the two-normal ambiguity
Volume of a parallelepiped |a · (b × c)| signed volume of the box with edges a, b, c
Test for coplanarity a · (b × c) = 0 detects when three vectors lie in one plane
Vector triple product a × (b × c) = (a · c)b − (a · b)c reduces a nested cross product to a sum of scaled vectors