Angle Between Lines Calculator
Find the smaller angle between two 2D lines, each defined by two points. Parallel or coincident lines give 0°; perpendicular lines give 90°. Runs locally.
Enter values to calculate.
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes
- Input interpretation
- Enter values to calculate.
- Result
- —
- Verified scope
- all published modes
- Assurance
- Core
- Declared partition coverage
- PASS · 8/8 declared partitions (distance, midpoint, slope, line, point-line, intersect, angle, invalid-domain) · Matrix
- Known limitations
- Core CVP does not include live graph, viewport, or pointer interaction.
- Model
- The smaller (principal) angle between two plane lines, each given by two distinct points, with an engine-linked figure of that angle.
- Scope
- Euclidean plane
- Verification
- Engine tested · Specification checked · v1.5.0 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes· View Manifest · CVP overview · Specification
- Versions
- Calculation 1.5.0 · CVP protocol 1.0.0-proposed · Evidence 2026-09-22.geometry-cvp
- Verification revision
- 2026-09-22.geometry-cvp · 3/3 property · digest c0f46759e9a3
- Legacy regression
- 21/21 tests · Production surface contract 6/6
- Trust layers
- Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
- Reference
- O1 model · O2 expected_values · O2 numerical_behavior
- Interfaces
- PASS · UI (SSR) / REST / MCP
- Supplemental domain review
- Not performed
- Named expert review
- Not performed
- CVP suite
- 10/10 golden · 4/4 CVP boundary · 8/8 invalid · 3/3 property · 4/4 cross-interface · 2/2 cross-calculator · 6/6 CVP contract · Manifest
- Specification basis
- ISO 80000-2:2019 Quantities and units — Mathematics
- Evidence
- 8 legacy golden · 3 legacy boundary · legacy regression suite · 10/10 oracle-backed golden · 8/8 invalid · Artifact integrity PASS
- Semantic contract
- PASS
Full verification
Formulas
Core equations used by this calculator.
How to use
Enter the first line as two distinct points
(0, 0) and (2, 2) is y = x.
Enter the second line as two distinct points
(0, 0) and (2, 0) is y = 0. The principal angle is 45°.
Example calculations
Common configurations with formula and result.
45°
(0, 0)–(2, 2) and (0, 0)–(2, 0)
Perpendicular
(0, 0)–(2, 0) and (0, 0)–(0, 2)
Parallel
(0, 0)–(2, 0) and (0, 1)–(2, 1)
Angle Between Lines calculator specification
Version 1.5.0 · Engine tested
- Engine tested 21/21 tests · Production surface contract 6/6
- Named expert review Not performed
- Calculation version 1.5.0
- Definition
- The principal angle θ between two undirected lines A₁x + B₁y + C₁ = 0 and A₂x + B₂y + C₂ = 0 is arccos(|A₁A₂ + B₁B₂| / (√(A₁²+B₁²) √(A₂²+B₂²))), in [0°, 90°]. For oblique lines this is the acute angle. This page is mode=angle on math.geometry.coordinate. Each line is two distinct points. Parallel and coincident lines are 0°. Perpendicular lines are 90°.
- What it calculates
- The smaller (principal) angle between two plane lines, each given by two distinct points, with an engine-linked figure of that angle.
- Inputs
- x1
- y1
- x2
- y2
- x3
- y3
- x4
- y4
- Outputs
- angle_deg
- angle_rad
- status
- supplement_deg
- standard1
- standard2
- Formula
θ = arccos(|A₁A₂ + B₁B₂| / (√(A₁²+B₁²) √(A₂²+B₂²)))- Assumptions
- Euclidean plane
- Two distinct points per line
- Undirected lines (principal angle in [0°, 90°])
- Not 3-D / spherical
- Not Pythagorean
- Not CAS
- Units
- degree
- radian
- Boundary conditions
- missing coordinates → MISSING_REQUIRED_INPUT
- coincident points on a line → INVALID_INPUT
- parallel distinct → status=parallel, 0°
- same line → status=coincident, 0°
- unknown mode (including cas, pythagorean) → INVALID_MODE
- Example
- x1=0 y1=0 x2=2 y2=2 x3=0 y3=0 x4=2 y4=0 → 45°
- Validation cases
2 published on this page · 21/21 tests · Production surface contract 6/6 · View evidence
- x1=0 y1=0 x2=2 y2=2 x3=0 y3=0 x4=2 y4=0 → 45°
- mode=cas x1=0 y1=0 x2=2 y2=2 x3=0 y3=0 x4=2 y4=0 → INVALID_MODE
- Specification basis
- ISO 80000-2:2019 Quantities and units — Mathematics
- Calculation version
- 1.5.0
Related tools
Other calculators in this family: Coordinate Geometry Calculator, Line Equation Calculator, Line Intersection Calculator, Point Line Distance Calculator . Explore all Analytic Geometry.
Frequently asked questions
Key distinctions behind the calculation.
Is this a second coordinate engine?
No. It is mode=angle on math.geometry.coordinate, the same engine as /calc/math/coordinate-geometry.
Is the result the acute angle?
For oblique lines, yes. The principal line angle is always in [0°, 90°]. 0° is parallel or coincident, not acute. 90° is a right angle, not acute. The supplement is 180° − θ.
What if a pair of points coincides?
That pair does not determine a unique line. The engine returns INVALID_INPUT.