Vector Addition - Component-Wise Sum and Resultant

Use this vector addition calculator to add two 2D or 3D vectors component by component and read the sum vector a + b plus the length of the resultant.

Updated: June 16, 2026 • Free Tool

Vector Addition

Choose 2D to enter only x and y, or 3D to also include z.

Horizontal component of vector a.

Vertical component of vector a.

Depth component of vector a. Only used when Dimension is set to 3D.

Horizontal component of vector b.

Vertical component of vector b.

Depth component of vector b. Only used when Dimension is set to 3D.

Results

Resultant |a + b|
0
Sum x Component 0
Sum y Component 0
Sum z Component 0
Magnitude of a 0
Magnitude of b 0

What Is Vector Addition?

Vector addition is the component-by-component sum of two vectors a and b that returns a new vector a + b with the matching components added together. Type the components of a and b, choose 2D or 3D, and the result panel shows the sum vector and the length of the resultant.

  • Force or velocity problems: Add two forces, velocities, or displacements to read the net value.
  • Confirming a head to tail or parallelogram answer: Confirm the same resultant numerically that the geometric construction produces.
  • Building a position vector from moves: Sum matching x and y components of a sequence of moves to read the final position.
  • Checking a + b = b + a: Flip the input rows and watch the resultant stay the same in the result panel.

The sum vector gives the net direction; the resultant length gives the net magnitude, so the result panel covers both at once.

Readers who also want the magnitude, unit vector, and direction angles of a single vector can switch to the Vector Calculator and reuse the same x, y, and z inputs.

How the Calculator Works

The tool reads the components of a and b, adds them component by component to form the sum vector, and takes the square root of the sum of the squared sum components to get the resultant length.

a + b = (a_x + b_x, a_y + b_y, a_z + b_z); |a + b| = sqrt((a_x + b_x)^2 + (a_y + b_y)^2 + (a_z + b_z)^2)
  • a and b (input vectors): The two vectors to add. The dimension selector chooses the working dimension; for 2D inputs the z fields stay visible but are ignored (treated as 0), and the x and y values carry over so 2D and 3D results can be compared for the same horizontal and vertical inputs.
  • a + b (sum vector): The component-wise sum of a and b. For 2D inputs the z term is 0, and the sum vector equals the resultant of a and b by definition.
  • |a + b| (resultant length): The Euclidean norm of the sum vector. The length is non-negative and equals 0 only when b is the negative of a.
  • |a| and |b| (input magnitudes): The magnitudes of a and b, computed with the same formula as the resultant. They show how the two input lengths combine; the resultant equals |a| + |b| only when a and b point in the same direction.

The sum and the resultant come from the same component-wise add, so the two answers come from one short pass over the input components. The magnitudes of a and b are computed separately so the contribution of each input vector is visible.

Worked example: a = (3, 1) and b = (1, 4) — sum (4, 5), resultant length sqrt(41) ≈ 6.4031

Dimension 2D, a_x = 3, a_y = 1, b_x = 1, b_y = 4.

a + b = (3 + 1, 1 + 4) = (4, 5). |a| = sqrt(10) ≈ 3.1623. |b| = sqrt(17) ≈ 4.1231. |a + b| = sqrt(41) ≈ 6.4031.

Sum vector (4, 5). Resultant length 6.4031. |a| = 3.1623, |b| = 4.1231.

The two input lengths total about 7.2854, but the resultant is shorter because a and b are not parallel.

According to Weisstein, Eric W. "Vector Addition," MathWorld, vector addition is performed component by component: if a = (a_x, a_y, a_z) and b = (b_x, b_y, b_z), then a + b = (a_x + b_x, a_y + b_y, a_z + b_z), and the operation is commutative and associative.

Readers who want the magnitude of just one vector without the addition step can pass the same x, y, and z into the Vector Magnitude Calculator to read the Euclidean norm of a single vector.

Key Concepts Explained

Four short definitions keep the formulas honest. The same rules apply to 2D and 3D.

Component-wise sum

Addition is defined component by component. For axis i in {x, y, z}, the i-th component of the sum equals the i-th component of a plus the i-th component of b; the z component is treated as 0 for 2D inputs.

Resultant and resultant length

The resultant of a and b is the same as the sum vector a + b. The resultant length |a + b| is the square root of the sum of the squared sum components.

Head to tail (triangle) rule

Place the tail of b at the head of a and read the resultant as the vector from the tail of a to the head of b. The component-wise sum and the head to tail rule always give the same resultant for the same inputs.

Parallelogram rule

The resultant of a and b is the diagonal of the parallelogram formed by a and b with the same initial point. The parallelogram and head to tail rules give the same resultant.

Readers who think of the sum vector as a position offset from the origin can pass the same components into the 3D Distance Calculator to read the distance the resultant covers.

How to Use This Calculator

Type the components of a and b, pick the dimension, and read the sum vector plus the resultant length in a single panel.

  1. 1 Pick 2D or 3D: Choose Dimension. The 2D option keeps the z fields visible but treats them as 0; the 3D option uses the z values in the sum and the resultant length. The x and y values carry over so you can compare 2D and 3D results without re-entering them.
  2. 2 Enter the components of vector a: Type a_x, a_y, and a_z. For 2D inputs leave a_z at 0; it is ignored.
  3. 3 Enter the components of vector b: Type b_x, b_y, and b_z. For 2D inputs leave b_z at 0.
  4. 4 Read the sum vector: The result panel shows the sum vector (a_x + b_x, a_y + b_y, a_z + b_z) and updates live.
  5. 5 Read the resultant length: The top row shows |a + b| = sqrt(sumX^2 + sumY^2 + sumZ^2), the magnitude of the resultant.
  6. 6 Cross-check with the commutative property: Swap a and b. The sum vector and resultant length do not change, which is the statement a + b = b + a.

A physics reader sets Dimension to 2D, types a_x = 3, a_y = 1, b_x = 1, b_y = 4, and reads sum (4, 5) with resultant length 6.4031. Swapping a and b leaves both unchanged, matching the commutative property.

Readers who need the angle between the two input vectors can pass the same components into the Dot Product Calculator to read the dot product and the angle in a single read.

Benefits of This Calculator

What the tool does well, in one short list.

  • Sum and resultant in one read: The result panel shows the sum vector and the resultant length from one component entry, so you do not have to add the components and re-run the magnitude formula by hand.
  • 2D and 3D in the same panel: The dimension toggle selects the working dimension, and the x and y values are reused across 2D and 3D, so 2D and 3D sums can be compared for the same horizontal and vertical components without re-entering numbers.
  • Commutative property confirmed by construction: The sum is component-by-component, so swapping a and b leaves the sum unchanged. The result panel shows the same sum and the same resultant length.
  • Additive identity and inverse both visible: Setting b to the zero vector shows a + 0 = a, and setting b to -a shows a + (-a) = 0.

Readers who need a vector perpendicular to both a and b (a 3D-only operation) can pass the same components into the Cross Product Calculator to read the cross product vector a x b.

Factors That Affect the Result

Factors that change the sum, change the magnitude, or fall outside the tool.

Sign of the input components

The sum is component-wise, so the sign of each sum component depends on the relative sizes of the two inputs. A negative input component does not always yield a negative sum component: a_x = -3 paired with b_x = 5 gives a sum component of 2, not -3, because the positive contribution from b offsets the negative one. The result is negative only when the negative contribution has the larger magnitude. The resultant length is computed from the squared sum, so it depends on the absolute values of the sum components and is always non-negative.

Choice of 2D versus 3D

Switching from 2D to 3D adds the z components of a and b to the sum and to the square root. The 2D and 3D results match for the same x and y only when both z components are zero; otherwise the two results differ by the z term in the sum and the magnitude.

Vectors aligned in the same direction

When a and b point in the same direction, the sum is in the same direction as both, and the resultant length equals |a| + |b|. The result panel shows the same direction for the sum and the longer resultant length.

Vector b is the negative of vector a

When b is the negative of a, the sum is the zero vector and the resultant length is 0. The result panel shows (0, 0) (or (0, 0, 0) in 3D) and a resultant length of 0.

Floating-point precision

Components are stored at full double precision, and the display rounds to 4 decimals. The internal sum is exact up to 1e-12 at the last digit, which is enough for homework and engineering checks.

  • The calculator adds exactly two vectors at a time. Summing three or more vectors needs two passes through the tool.
  • The result panel does not show the angle between a and b or the direction angles of the sum. Use the dot product or vector magnitude tools in the same cluster for those derived values.

According to OpenStax Calculus Volume 3, Section 2.1, the sum of two vectors v and w in component form is v + w = <v_x + w_x, v_y + w_y>, and the geometric interpretation is the head to tail rule, where the initial point of w is placed at the terminal point of v and the vector sum is the vector from the initial point of v to the terminal point of w.

According to Weisstein, Eric W. "Resultant," MathWorld, the resultant of two vectors is the vector sum a + b, which can be drawn as the diagonal of the parallelogram formed by a and b with the same initial point.

Readers who need to add a pair of 2x2 matrices entry by entry (the same component-wise idea applied to matrices) can switch to the Matrix Addition Calculator and reuse the same add cell by cell.

Vector addition calculator input panel with two 2D vectors a and b, plus a result panel showing the sum vector a + b and the length of the resultant
Vector addition calculator input panel with two 2D vectors a and b, plus a result panel showing the sum vector a + b and the length of the resultant

Frequently Asked Questions

Q: What is vector addition?

A: Vector addition is the operation that takes two vectors a and b and returns a new vector a + b whose components are the sum of the matching components of a and b. For 2D inputs the result is (a_x + b_x, a_y + b_y); for 3D inputs the z term is added too.

Q: How do you add two vectors?

A: Add the matching components. The x component of the sum is a_x + b_x, the y component is a_y + b_y, and (for 3D) the z component is a_z + b_z. The length of the sum vector is the square root of the sum of the squared sum components.

Q: What is the resultant of two vectors?

A: The resultant of two vectors a and b is the same as the sum vector a + b. Its length is the square root of the sum of the squared sum components, and it can be drawn as the diagonal of the parallelogram formed by a and b with the same initial point.

Q: How do you add 2D and 3D vectors?

A: Use the same component-by-component rule for both dimensions. For 2D inputs treat z as 0; for 3D inputs include the z terms in both the sum and the resultant length.

Q: Is vector addition commutative?

A: Yes, a + b = b + a for any two vectors of the same dimension. Swapping the input rows leaves the sum vector and the resultant length unchanged, which the calculator confirms by showing the same output for the swapped inputs.

Q: What is the head to tail rule for vector addition?

A: Place the tail of b at the head of a, then read the resultant as the vector from the tail of a to the head of b. The component-by-component sum and the head to tail rule always give the same resultant for the same two input vectors.