HomeCalculatorsMathGeometryVector Angle Calculator
Math calculator

Vector Angle Calculator

Included angle of two Euclidean vectors in [0°, 180°]. Same engine as Vector. Zero vectors are invalid. Not /angle-between-lines. Not a matrix. Not CAS. Runs locally.

Instant result
Result

Enter values to calculate.

Inputs
Mode
Formula
Trust summary Engine tested · Specification checked · 11/11 tests · Production surface contract 3/3 · v1.6.0
Input interpretation
Enter values to calculate.
Result
Model
The included angle of two Euclidean vectors in [0°, 180°].
Scope
Euclidean R²/R³
Verification
Engine tested · 11/11 tests · Production surface contract 3/3 · Specification checked · v1.6.0
Named expert review
Optional · Not performed
Specification basis
  • ISO 80000-2:2019 Quantities and units — Mathematics
Specification basis
Evidence
3 golden · 2 boundary · 6 property · Production surface contract 3/3 · Artifact integrity PASS
Production
Embedded snapshot: unpublished · Build schema 1.6.0 ready · Semantic contract ✓ · Attestation report not published on origin · Live production status STALE (3 capabilities; 161 remain CURRENT) @ 2026-09-20T23:37:12.315Z
Semantic contract
PASS

Formulas

Core equations used by this calculator.

Included angleθ = arccos((u · v) / (|u| |v|))
Range0° ≤ θ ≤ 180°
iSame engine as /vector. Default i and j → 90°. Parallel → 0°. Opposite → 180°. Not a second engine.

How to use

1

Enter u and v

uz and vz are optional and default to 0. Neither vector may be zero. i and j form 90°.

2

Read the included angle

The result is in [0°, 180°]. The acute angle between two undirected lines is /calc/math/angle-between-lines.

Example calculations

Common configurations with formula and result.

ϟ

i and j

u = (1, 0, 0), v = (0, 1, 0)

arccos(0)
90°
ϟ

Parallel

u = (1, 0, 0), v = (2, 0, 0)

arccos(1)

Vector Angle calculator specification

Version 1.6.0 · Engine tested

Calculation status

Review policy · Evidence

Definition
θ = arccos((u · v) / (|u| |v|)) in [0°, 180°]. This page is mode=angle on math.vector. uz and vz default to 0. The acute angle between two lines stays on /calc/math/angle-between-lines. Not a second engine. Not CAS.
What it calculates
The included angle of two Euclidean vectors in [0°, 180°].
Inputs
  • ux
  • uy
  • uz?
  • vx
  • vy
  • vz?
Outputs
  • angle_deg
  • angle_rad
  • cosine
Formula
θ = arccos((u · v) / (|u| |v|))
Assumptions
  • Euclidean R²/R³
  • uz/vz default to 0
  • Directed vectors (not undirected lines)
  • Not /angle-between-lines
  • Not a matrix
  • Not CAS
Units
  • degree
  • radian
Boundary conditions
  • missing ux, uy, vx, or vy → MISSING_REQUIRED_INPUT
  • zero u or v → INVALID_INPUT
  • unknown mode → INVALID_MODE
Example
u=(1,0,0) v=(0,1,0) → 90°
Validation cases

4 published on this page · 11/11 tests · Production surface contract 3/3 · View evidence

  • ux=1 uy=0 vx=0 vy=1 → angle_deg=90
  • ux=1 uy=0 vx=2 vy=0 → angle_deg=0
  • ux=1 uy=0 vx=-1 vy=0 → angle_deg=180
  • ux=0 uy=0 vx=1 vy=0 → INVALID_INPUT
Specification basis
  • ISO 80000-2:2019 Quantities and units — Mathematics
Calculation version
1.6.0
}

Frequently asked questions

Key distinctions behind the calculation.

Is this a second vector engine?

No. It is mode=angle on math.vector, the same engine as /calc/math/vector.

Is this the angle between two lines?

No. This is the included angle of two direction vectors in [0°, 180°]. The acute line angle stays on /calc/math/angle-between-lines.

What if a vector is zero?

The angle is undefined. The engine returns INVALID_INPUT.

Where does this run?

Locally in the browser by default. REST and MCP call the same vector engine.