UTILS.
100% in-browser
🔦

Snell's Law / Refraction Calculator

Solve n1·sinθ1 = n2·sinθ2 for any angle or refractive index, with critical-angle and total-internal-reflection detection.

Light bends at a boundary by n1·sinθ1 = n2·sinθ2. Choose what to solve for; angles are in degrees from the normal.

About this tool

The Snell's Law Calculator is a free, in-browser tool that relates the angle of incidence and refraction of light crossing a boundary between two media using n1·sinθ1 = n2·sinθ2. Pick which quantity to solve for and enter the rest; the answer updates live as you type. Nothing you enter is uploaded — every calculation runs locally in your browser.

Refractive index (n) is a dimensionless ratio, and angles are measured in degrees from the surface normal (0° = straight in, 90° = grazing). Built-in presets fill common indices (air ≈ 1.00, water ≈ 1.33, crown glass ≈ 1.52, diamond ≈ 2.417) so you can model everyday interfaces quickly.

When light travels into a less-dense medium (n1 > n2) and the incidence angle is steep enough, no real refraction angle exists: the tool flags total internal reflection and reports the critical angle beyond which all light is reflected.

Frequently asked questions

What units and sign convention are used?
Refractive indices are dimensionless and angles are entered in degrees, measured from the surface normal (perpendicular to the boundary), not from the surface itself. Values must lie between 0° and 90°.
When does total internal reflection occur?
When light goes from a denser to a less-dense medium (n1 > n2) and sinθ2 would exceed 1, refraction is impossible; the tool shows 'total internal reflection' and reports the critical angle θc = arcsin(n2/n1).
What is the critical angle tile?
Whenever n1 > n2 the tool also displays the critical angle — the incidence angle at which the refracted ray grazes the boundary (θ2 = 90°). Beyond it, all light is internally reflected.
Which refractive index presets are included?
The dropdowns fill typical values for air (1.00), water (1.33), crown glass (1.52) and diamond (2.417); you can override any of them by typing an exact index for your material and wavelength.

More tools