# Triangle Calculator > Solve a general triangle from three known values, including at least one side, and calculate sides, angles, area, radii, and medians. Page: https://askcalculators.com/calculator/triangle-calculator/ Definition: https://askcalculators.com/calculator/triangle-calculator/definition.json JSON Schema: https://askcalculators.com/calculator/triangle-calculator/schema.json Version: 2.0.0 Maintained by: AskCalculators (software project; not a credentialed reviewer) Qualified review: pending. Automated checks do not establish professional approval. Page status: Live Review status: Pending ## Use Open the calculator page and enter values. Query-string parameters can restore and bookmark a calculation. Example: https://askcalculators.com/calculator/triangle-calculator/?sideA=3&sideB=4&sideC=5&angleUnit=degrees ## Inputs - sideA: Side a; type=number; optional; default=3; min=0.000001 - angleA: Angle A; type=number; optional; min=0.000001 - sideB: Side b; type=number; optional; default=4; min=0.000001 - angleB: Angle B; type=number; optional; min=0.000001 - sideC: Side c; type=number; optional; default=5; min=0.000001 - angleC: Angle C; type=number; optional; min=0.000001 - angleUnit: Angle unit; type=select; required; default=degrees; values=degrees|radians ## Outputs - sideAResult: Side a; format=number; primary - sideBResult: Side b; format=number - sideCResult: Side c; format=number - angleAResult: Angle A; format=number - angleBResult: Angle B; format=number - angleCResult: Angle C; format=number - area: Area; format=number - perimeter: Perimeter; format=number - inradius: Inradius; format=number - circumradius: Circumradius; format=number - medianA: Median to side a; format=number - medianB: Median to side b; format=number - medianC: Median to side c; format=number - triangleType: Triangle type; format=text - solutionCount: Possible solutions; format=integer ## Formula Use the law of cosines for SSS/SAS, the law of sines for ASA/AAS/SSA, and Heron’s formula K=√[s(s−a)(s−b)(s−c)]. ## Rules - Empty optional inputs are undefined, not zero. - Hidden conditional inputs are ignored. - Do not invent missing required inputs.