Cross product of two vectors

Push a rotating door and only two things matter for how hard it swings: how hard you push, and how far from the hinge you push. That "twisting" combination of two directions producing a third, perpendicular effect is exactly what the cross product of two vectors captures in mathematics. Unlike the dot product, which reduces two vectors to a single number describing their alignment, the cross product a⃗×b⃗\vec a\times\vec b returns another vector — one perpendicular to both original vectors, whose length equals the area of the parallelogram they span. This article builds the definition from the angle between two vectors, gives the practical determinant formula used in every board exam, ties the result to areas of parallelograms and triangles, and works through the algebra step by step so the sign conventions stop being a trap.

The core insight

The cross product a⃗×b⃗=∣a⃗∣∣b⃗∣sin⁡θ n^\vec a\times\vec b=|\vec a||\vec b|\sin\theta\,\hat n is a vector perpendicular to both a⃗\vec a and b⃗\vec b whose magnitude equals the area of the parallelogram they span, computed in practice via a 3×33\times3 determinant.

The core idea

For two nonzero vectors a⃗\vec a and b⃗\vec b with angle θ\theta between them (0≤θ≤π0\le\theta\le\pi), the cross product is defined by

a⃗×b⃗=∣a⃗∣ ∣b⃗∣sin⁡θ  n^,\vec a\times\vec b = |\vec a|\,|\vec b|\sin\theta\;\hat n,

where: ∣a⃗∣,∣b⃗∣|\vec a|,|\vec b| are the magnitudes of the two vectors, θ\theta is the angle between them, and n^\hat n is the unit vector perpendicular to both, chosen so that a⃗,b⃗,n^\vec a,\vec b,\hat n form a right-handed system — curl the fingers of the right hand from a⃗\vec a to b⃗\vec b and the thumb points along n^\hat n. If either vector is 0⃗\vec 0, or if a⃗∥b⃗\vec a\parallel\vec b (so θ=0\theta=0 or π\pi), the cross product is 0⃗\vec 0, since sin⁡0=sin⁡π=0\sin 0=\sin\pi=0.

Geometric meaning. Because ∣a⃗×b⃗∣=∣a⃗∣∣b⃗∣sin⁡θ|\vec a\times\vec b|=|\vec a||\vec b|\sin\theta, this magnitude is exactly the area of the parallelogram with adjacent sides a⃗\vec a and b⃗\vec b. Consequently the area of the triangle with sides a⃗\vec a and b⃗\vec b from a common vertex is 12∣a⃗×b⃗∣\tfrac12|\vec a\times\vec b|.

Key properties. The cross product is anti-commutative, not commutative, and it distributes over addition:

a⃗×b⃗=−(b⃗×a⃗),a⃗×(b⃗+c⃗)=a⃗×b⃗+a⃗×c⃗.\vec a\times\vec b = -(\vec b\times\vec a), \qquad \vec a\times(\vec b+\vec c) = \vec a\times\vec b+\vec a\times\vec c.

It also gives a clean parallel test, and fixes the products of the standard unit vectors:

a⃗∥b⃗  ⟺  a⃗×b⃗=0⃗  (a⃗,b⃗ nonzero),i^×j^=k^,  j^×k^=i^,  k^×i^=j^,  i^×i^=j^×j^=k^×k^=0⃗.\vec a\parallel\vec b \iff \vec a\times\vec b=\vec 0 \ \ (\vec a,\vec b\ \text{nonzero}), \qquad \hat i\times\hat j=\hat k,\ \ \hat j\times\hat k=\hat i,\ \ \hat k\times\hat i=\hat j,\ \ \hat i\times\hat i=\hat j\times\hat j=\hat k\times\hat k=\vec 0.
Figure
Two vectors a and b drawn from a common point spanning a parallelogram with the cross product vector n shown perpendicular to the plane
a x b is perpendicular to the plane of a and b a b a x b (along n, perpendicular to the parallelogram) parallelogram area equals magnitude of a x b

Component formula. If a⃗=a1i^+a2j^+a3k^\vec a=a_1\hat i+a_2\hat j+a_3\hat k and b⃗=b1i^+b2j^+b3k^\vec b=b_1\hat i+b_2\hat j+b_3\hat k, then

a⃗×b⃗=∣i^j^k^a1a2a3b1b2b3∣=(a2b3−a3b2)i^−(a1b3−a3b1)j^+(a1b2−a2b1)k^,\vec a\times\vec b = \begin{vmatrix} \hat i & \hat j & \hat k \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \end{vmatrix} = (a_2b_3-a_3b_2)\hat i - (a_1b_3-a_3b_1)\hat j + (a_1b_2-a_2b_1)\hat k,

where: a1,a2,a3a_1,a_2,a_3 and b1,b2,b3b_1,b_2,b_3 are the components of a⃗\vec a and b⃗\vec b along i^,j^,k^\hat i,\hat j,\hat k, and the determinant is expanded along the top row exactly as with any 3×33\times3 determinant, with the standard alternating sign pattern.

Dot vs. cross. The dot product measures how aligned two vectors are and returns a scalar; the cross product measures how spread apart they are and returns a vector, with magnitude tied to the area they sweep out. If a question asks for an angle, a length, or perpendicularity, reach for the dot product; if it asks for area, or a vector perpendicular to two given vectors, reach for the cross product.

Derivation ACross product from angle definition to the determinant formula

The goal is to show that the compact geometric definition a⃗×b⃗=∣a⃗∣∣b⃗∣sin⁡θ n^\vec a\times\vec b=|\vec a||\vec b|\sin\theta\,\hat n is completely consistent with, and reduces to, the practical component formula used for calculation, so that a student trusts the determinant shortcut rather than treating it as an unexplained rule dropped from nowhere.

Step 1. Start from the distributive and unit-vector rules already stated: a⃗×(b⃗+c⃗)=a⃗×b⃗+a⃗×c⃗\vec a\times(\vec b+\vec c)=\vec a\times\vec b+\vec a\times\vec c, and i^×j^=k^\hat i\times\hat j=\hat k, j^×k^=i^\hat j\times\hat k=\hat i, k^×i^=j^\hat k\times\hat i=\hat j, with each vector's cross product with itself equal to 0⃗\vec 0. These follow directly from the angle-based definition: parallel vectors give sin⁡0=0\sin 0=0, and the three unit vectors are mutually perpendicular with the right-hand orientation baked into their labelling.

Step 2. Write a⃗=a1i^+a2j^+a3k^\vec a=a_1\hat i+a_2\hat j+a_3\hat k and b⃗=b1i^+b2j^+b3k^\vec b=b_1\hat i+b_2\hat j+b_3\hat k, and expand a⃗×b⃗\vec a\times\vec b term by term using distributivity, exactly as one would multiply out two binomials, but keeping every cross term of the nine possible i^,j^,k^\hat i,\hat j,\hat k pairings.

Step 3. Apply the unit-vector rules to each of the nine terms. The three terms a1b1(i^×i^)a_1b_1(\hat i\times\hat i), a2b2(j^×j^)a_2b_2(\hat j\times\hat j), a3b3(k^×k^)a_3b_3(\hat k\times\hat k) vanish. The remaining six work out to a1b2(i^×j^)=a1b2k^a_1b_2(\hat i\times\hat j)=a_1b_2\hat k, a1b3(i^×k^)=−a1b3j^a_1b_3(\hat i\times\hat k)=-a_1b_3\hat j, a2b1(j^×i^)=−a2b1k^a_2b_1(\hat j\times\hat i)=-a_2b_1\hat k, a2b3(j^×k^)=a2b3i^a_2b_3(\hat j\times\hat k)=a_2b_3\hat i, a3b1(k^×i^)=a3b1j^a_3b_1(\hat k\times\hat i)=a_3b_1\hat j, a3b2(k^×j^)=−a3b2i^a_3b_2(\hat k\times\hat j)=-a_3b_2\hat i.

Step 4. Collect the i^\hat i, j^\hat j, k^\hat k pieces separately: the i^\hat i-coefficient is a2b3−a3b2a_2b_3-a_3b_2, the j^\hat j-coefficient is −(a1b3−a3b1)-(a_1b_3-a_3b_1), and the k^\hat k-coefficient is a1b2−a2b1a_1b_2-a_2b_1. This is precisely the determinant formula a⃗×b⃗=(a2b3−a3b2)i^−(a1b3−a3b1)j^+(a1b2−a2b1)k^\vec a\times\vec b=(a_2b_3-a_3b_2)\hat i-(a_1b_3-a_3b_1)\hat j+(a_1b_2-a_2b_1)\hat k, so the shortcut is not a separate rule but the same angle-based definition worked out in components.

Worked example

Find a⃗×b⃗\vec a\times\vec b where a⃗=2i^−j^+3k^\vec a=2\hat i-\hat j+3\hat k and b⃗=i^+2j^−k^\vec b=\hat i+2\hat j-\hat k, and use it to find the area of the parallelogram with adjacent sides a⃗\vec a and b⃗\vec b.

Step 1. Set up the determinant with a⃗\vec a's components in the second row and b⃗\vec b's in the third:

a⃗×b⃗=∣i^j^k^2−1312−1∣.\vec a\times\vec b = \begin{vmatrix} \hat i & \hat j & \hat k \\ 2 & -1 & 3 \\ 1 & 2 & -1 \end{vmatrix}.

Step 2. Expand along the first row, remembering the minus sign on the middle (j^\hat j) term:

i^[(−1)(−1)−(3)(2)]−j^[(2)(−1)−(3)(1)]+k^[(2)(2)−(−1)(1)]=i^(1−6)−j^(−2−3)+k^(4+1)=−5i^+5j^+5k^.\hat i\big[(-1)(-1)-(3)(2)\big] - \hat j\big[(2)(-1)-(3)(1)\big] + \hat k\big[(2)(2)-(-1)(1)\big] = \hat i(1-6) - \hat j(-2-3) + \hat k(4+1) = -5\hat i+5\hat j+5\hat k.

Step 3. Take the magnitude, which equals the parallelogram's area:

∣a⃗×b⃗∣=(−5)2+52+52=75=53.|\vec a\times\vec b| = \sqrt{(-5)^2+5^2+5^2} = \sqrt{75} = 5\sqrt3.

Answer: a⃗×b⃗=−5i^+5j^+5k^\vec a\times\vec b=-5\hat i+5\hat j+5\hat k, and the parallelogram spanned by a⃗\vec a and b⃗\vec b has area 535\sqrt3 square units.

Competitive stretch

Using the same a⃗×b⃗=−5i^+5j^+5k^\vec a\times\vec b=-5\hat i+5\hat j+5\hat k, the triangle with sides a⃗\vec a and b⃗\vec b from a common vertex has area 12∣a⃗×b⃗∣=12(53)=532\tfrac12|\vec a\times\vec b|=\tfrac12(5\sqrt3)=\dfrac{5\sqrt3}{2} square units — halving the parallelogram result is the only extra step, since a diagonal of a parallelogram always splits it into two equal-area triangles.

Common traps

  • Assuming the cross product is commutative. a⃗×b⃗=−(b⃗×a⃗)\vec a\times\vec b=-(\vec b\times\vec a) — reversing the order flips the sign and direction of the result; this is unlike the dot product.
  • Forgetting the cross product returns a vector. "a⃗×b⃗=7\vec a\times\vec b=7" is a type error; only ∣a⃗×b⃗∣|\vec a\times\vec b| is a scalar.
  • Sign errors in the middle term of the determinant expansion. The j^\hat j term always carries a minus sign in the standard expansion — a very common place to lose a sign.
  • Forgetting to halve for triangle area. ∣a⃗×b⃗∣|\vec a\times\vec b| gives the parallelogram's area; the triangle formed by the same two sides has exactly half that area.

Ask the tutor: if you want to practice more determinant expansions for the cross product or check when to use the dot product versus the cross product in a mixed problem, ask the AI tutor to work through a few with you.

Why does the cross product need the right-hand rule while the dot product does not?

The dot product's output is a single number, so there is nothing to orient. The cross product's output is a vector perpendicular to the plane of a⃗\vec a and b⃗\vec b, and there are always two such perpendicular directions, pointing opposite ways. The right-hand rule is simply the convention that picks one of those two directions consistently, so that everyone computing a⃗×b⃗\vec a\times\vec b agrees on which way n^\hat n points.

Do I have to remember the sign pattern in the determinant expansion, or is there a shortcut?

The safest habit is to always expand along the top row (i^,j^,k^\hat i,\hat j,\hat k) and apply the standard alternating pattern plus, minus, plus to the three 2×22\times2 minors. The minus sign on the middle term is the one detail worth memorising deliberately, since it is the single most common slip. Practising a few determinants until the pattern is automatic is more reliable than trying to shortcut it.

How is the cross product different from just multiplying magnitudes and using sine, without worrying about direction?

The scalar quantity ∣a⃗∣∣b⃗∣sin⁡θ|\vec a||\vec b|\sin\theta by itself only gives you the area of the parallelogram — a number. The cross product packages that number together with a direction, n^\hat n, perpendicular to both vectors, so the full result a⃗×b⃗\vec a\times\vec b tells you both "how much" (the area) and "which way" (a normal to the plane), which is essential whenever the perpendicular direction itself matters, such as finding a vector normal to a plane containing a⃗\vec a and b⃗\vec b.

Before this

Where this leads