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.
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
- 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.
How to use
Enter u and v
uz and vz are optional and default to 0. Neither vector may be zero. i and j form 90°.
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)
Parallel
u = (1, 0, 0), v = (2, 0, 0)
Vector Angle calculator specification
Version 1.6.0 · Engine tested
- Engine tested 11/11 tests · Production surface contract 3/3
- Named expert review Not performed
- Calculation version 1.6.0
- 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
Related tools
Other calculators in this family: Angle Between Lines Calculator, Annulus Calculator, Arc Calculator, Circle Calculator, Cone Calculator, Conic Section Calculator, Coordinate Geometry Calculator, Cross Product Calculator . Explore all Geometry.
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.