{"id":65887,"date":"2026-09-30T13:56:41","date_gmt":"2026-09-30T10:56:41","guid":{"rendered":"https:\/\/wpcalc.com\/en\/?p=65887"},"modified":"2026-09-30T13:56:41","modified_gmt":"2026-09-30T10:56:41","slug":"snells-law-calculator","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/en\/physics\/snells-law-calculator\/","title":{"rendered":"Snell's Law Calculator"},"content":{"rendered":"<section class=\"not-prose calculator-box\" aria-labelledby=\"calculator-title\"><div class=\"flex items-baseline sm:items-center justify-between gap-2 sm:gap-3\"><div class=\"flex flex-col sm:flex-row sm:items-center gap-2\"><span class=\"icon icon-calculator text-primary-700! text-base! dark:text-primary-300!\" aria-hidden=\"true\"><\/span><h2 id=\"calculator-title\" class=\"text-lg font-display font-bold\">Find the Angle of Refraction from Snell&#039;s Law<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"65887\" data-favorite-title=\"Snell&#039;s Law\" data-favorite-url=\"https:\/\/wpcalc.com\/en\/physics\/snells-law-calculator\/\" data-favorite-excerpt=\"Enter the angle of incidence and the refractive indices of the two media to find the angle of refraction from Snell&#039;s law. The calculator also reports the critical angle and warns you when total internal reflection occurs.\" aria-label=\"Add to Favorites\" data-favorite-icon=\"icon icon-spectrum\">\n    <span class=\"icon icon-shape-star-empty\" aria-hidden=\"true\"><\/span>\n  <\/button>\n  <div class=\"calcdash-favorite__tip\" aria-hidden=\"true\">\n   <span class=\"favorite-tooltip\" id=\"favorite-tooltip\"><\/span>\n  <\/div>\n  <span class=\"sr-only\" role=\"status\" id=\"favorite-status\"><\/span>\n<\/div><\/div><form action=\"https:\/\/wpcalc.com\/en\/physics\/snells-law-calculator\/\" method=\"POST\" class=\"calculator\" id=\"calculator-65887\" data-post=\"65887\"><fieldset class=\"fieldset-input is-1\"><legend class=\"sr-only\">Input Fields<\/legend><div class=\"field is-single has-term\" id=\"input-1\"><label for=\"field-1\">Angle of incidence (\u03b8\u2081)<\/label><div class=\"term\">\u03b8\u2081<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><div class=\"field-group\"><input type=\"text\" name=\"angle_of_incidence_\" id=\"field-1\" aria-describedby=\"calc-info-1\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" placeholder=\"e.g. 40\" min=\"0\" max=\"90\" value=\"40\"\/><div class=\"grid grid-cols-1\"><select id=\"field-2\" name=\"unit\" aria-label=\"Unit\"><option value=\"deg\" selected>degrees<\/option><option value=\"rad\">radians<\/option><\/select><svg class=\"pointer-events-none col-start-1 row-start-1 mr-2 size-5 self-center justify-self-end text-gray-500 sm:size-4\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">\n              <path fill-rule=\"evenodd\" d=\"M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z\" clip-rule=\"evenodd\" \/>\n            <\/svg><\/div><\/div><small id=\"calc-info-1\">Angle between the incoming ray and the normal to the surface, measured in the first medium.<\/small><\/div><div class=\"field is-single has-term\" id=\"input-2\"><label for=\"field-3\">Refractive index of medium 1 (n\u2081)<\/label><div class=\"term\">n\u2081<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"refractive_index_of_medium_1_n\" id=\"field-3\" aria-describedby=\"calc-info-3\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" placeholder=\"e.g. 1\" min=\"0\" value=\"1\"\/><small id=\"calc-info-3\">Index of the medium the light comes from. Air \u2248 1.0003, water \u2248 1.33, glass \u2248 1.5, diamond \u2248 2.42.<\/small><\/div><div class=\"field is-single has-term\" id=\"input-3\"><label for=\"field-4\">Refractive index of medium 2 (n\u2082)<\/label><div class=\"term\">n\u2082<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"refractive_index_of_medium_2_n\" id=\"field-4\" aria-describedby=\"calc-info-4\" data-number inputmode=\"decimal\" autocomplete=\"off\" spellcheck=\"false\" placeholder=\"e.g. 1.33\" min=\"0\" value=\"1.33\"\/><small id=\"calc-info-4\">Index of the medium the light enters. Air \u2248 1.0003, water \u2248 1.33, glass \u2248 1.5, sapphire \u2248 1.77.<\/small><\/div><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Re-Calculate\" id=\"calculate-button\" data-post=\"65887\">Calculate<\/button><button type=\"reset\">Reset<\/button><\/div><div class=\"field is-checkbox hidden!\" id=\"field-auto-calc\"><input type=\"checkbox\" id=\"auto-calc\"><label for=\"auto-calc\">Calculate automatically<\/label><small>If enabled, the result will update automatically when you change any value.<\/small><\/div><div class=\"fieldset-result is-hidden\" aria-labelledby=\"result-title\" aria-live=\"polite\" role=\"region\"> <h3 class=\"result-title bg-gradient-to-r from-primary-50 to-gray-50 dark:from-primary-900 dark:to-gray-800\" id=\"result-title\"><span class=\"icon icon-s-pulse\" aria-hidden=\"true\"><\/span> Refraction Results<\/h3><div class=\"result-box\"><div class=\"field-result is-column\" id=\"output-1\"><span class=\"field-title\"><span>Angle of refraction (\u03b8\u2082)<\/span><span class=\"result-term\">\u03b8\u2082<\/span><\/span><span class=\"field-value\" id=\"result-1\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><div class=\"field-result is-column\" id=\"output-2\"><span class=\"field-title\"><span>Critical angle and total internal reflection<\/span><span class=\"result-term\">\u03b8c<\/span><\/span><span class=\"field-value\" id=\"result-2\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><\/div><div class=\"result-actions\"><button type=\"button\" class=\"copy-link\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z\"\/><path d=\"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z\"\/><\/svg><span class=\"copy-link__text\">Copy link to this calculation<\/span><\/button><span class=\"sr-only\" role=\"status\" id=\"copy-link-status\"><\/span><\/div><\/div><a href=\"#respond\" class=\"hidden transition-opacity duration-300 opacity-0 w-50 text-sm justify-center items-center gap-2 px-4 py-2 rounded bg-gray-200 text-gray-700 hover:bg-gray-300\" id=\"leave-comment\"><span class=\"icon icon-comments\" aria-hidden=\"true\"><\/span>Leave a Comment<\/a><\/form><\/section><section id=\"calc-reactions\" class=\"not-prose hidden my-12 bg-gradient-to-r from-primary-50 to-gray-50 border border-indigo-100 rounded-xl px-6 py-4 shadow-sm\" data-post=\"65887\" aria-live=\"polite\" aria-labelledby=\"calc-reactions-title\"><p id=\"calc-reactions-title\" class=\"text-sm text-gray-500 text-center mb-2\">How did this result make you feel?<\/p><div role=\"group\" aria-labelledby=\"calc-reactions-title\" class=\"grid grid-cols-3 sm:flex sm:flex-row sm:justify-around gap-4 sm:items-center sm:flex-wrap\"><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"like\"><span class=\"reaction-count\" data-reaction-count=\"like\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude00 <\/span><span class=\"reaction-description font-medium\">Like <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"helpful\"><span class=\"reaction-count\" data-reaction-count=\"helpful\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\udca1 <\/span><span class=\"reaction-description font-medium\">Helpful <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"confused\"><span class=\"reaction-count\" data-reaction-count=\"confused\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude15 <\/span><span class=\"reaction-description font-medium\">Confused <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"disappointed\"><span class=\"reaction-count\" data-reaction-count=\"disappointed\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude1e <\/span><span class=\"reaction-description font-medium\">Disappointed <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"inaccurate\"><span class=\"reaction-count\" data-reaction-count=\"inaccurate\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\u274c <\/span><span class=\"reaction-description font-medium\">Inaccurate <\/span><\/button><\/div><div id=\"reaction-message\" class=\"hidden mt-8 rounded-md border border-primary-100 bg-white\/50 backdrop-blur-sm px-4 py-2 text-sm text-center shadow-sm\"><\/div><\/section><div class=\"calcdash-ad not-prose calcdash-ad--calc_result calcdash-ad--in-article\"><ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-1721569815777345\" data-ad-slot=\"6317458308\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\"><\/ins><script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script><\/div>\n<style id=\"wpcoderpro-inline-1\">.formula-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section class=\"formula-box\" aria-labelledby=\"formula-title\">\r\n\t<div id=\"formula-title\" class=\"not-prose font-display mb-4\"><span class=\"icon icon-formula\" aria-hidden=\"true\"><\/span><h2>Snell's Law Formula<\/h2><\/div>\r\n\t<figure class=\"not-prose formula\">\r\n\t\t<figcaption class=\"formula-title\">Formula<\/figcaption>\r\n\t\t<div class=\"text-base text-gray-800\" id=\"formula\">\n\\[ n_1 \\sin\\theta_1 = n_2 \\sin\\theta_2 \\]\n<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Where:<\/strong><\/p>\n<ul>\n<li>\\(n_1\\) \u2014 refractive index of the first medium (the one the light comes from)<\/li>\n<li>\\(\\theta_1\\) \u2014 angle of incidence, measured between the incoming ray and the normal to the surface<\/li>\n<li>\\(n_2\\) \u2014 refractive index of the second medium (the one the light enters)<\/li>\n<li>\\(\\theta_2\\) \u2014 angle of refraction, measured between the refracted ray and the normal<\/li>\n<\/ul>\n<p>Solving for the angle of refraction gives \\(\\theta_2 = \\arcsin\\!\\big(\\tfrac{n_1}{n_2}\\sin\\theta_1\\big)\\). Both angles are always measured from the <em>normal<\/em> (the line perpendicular to the surface), not from the surface itself.<\/p>\n<p>When light travels from a denser medium into a less dense one (\\(n_1 &gt; n_2\\)), a critical angle exists:<\/p>\n<p>\\[ \\theta_c = \\arcsin\\!\\left(\\frac{n_2}{n_1}\\right) \\]<\/p>\n<p>For any incidence angle greater than \\(\\theta_c\\), Snell's law has no solution and the ray is completely reflected back \u2014 this is total internal reflection.<\/p>\n<p>\r\n<\/section>\n<style id=\"wpcoderpro-inline-459\">.calculation-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section id=\"calculation\" class=\"calculation-box\" aria-labelledby=\"calculation-title\">\r\n\t<div id=\"calculation-title\" class=\"not-prose font-display\"><span class=\"icon icon-unordered-list\" aria-hidden=\"true\"><\/span><h2>Snell's Law \u2013 Calculation Example<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Example:<\/strong> a light ray in air hits the flat surface of a pool of water at an angle of 40\u00b0 to the normal. Air has \\(n_1 = 1\\) and water has \\(n_2 = 1.33\\). Find the angle of the refracted ray inside the water.<\/p>\n<p>\\[ \\sin\\theta_2 = \\frac{n_1}{n_2}\\sin\\theta_1 = \\frac{1}{1.33} \\times \\sin 40^\\circ = 0.7519 \\times 0.6428 = 0.4833 \\]<\/p>\n<p>\\[ \\theta_2 = \\arcsin(0.4833) = 28.90^\\circ \\]<\/p>\n<p><strong>Result:<\/strong> the ray refracts at 28.90\u00b0 (about 28\u00b0 54\u2032, or 0.5044 rad) from the normal. Because water is optically denser than air, the ray bends toward the normal \u2014 40\u00b0 in, 28.90\u00b0 out.<\/p>\n<p>\n\r\n<\/section>\n<h2>How to use the calculator<\/h2>\n<ol>\n<li>Enter the <strong>Angle of incidence (\u03b8\u2081)<\/strong> and pick its unit (degrees or radians) from the dropdown. The angle must be measured from the normal to the surface, between 0\u00b0 and 90\u00b0.<\/li>\n<li>Enter the <strong>Refractive index of medium 1 (n\u2081)<\/strong> \u2014 the medium the light is coming from (for air, 1 is accurate enough).<\/li>\n<li>Enter the <strong>Refractive index of medium 2 (n\u2082)<\/strong> \u2014 the medium the light is entering.<\/li>\n<li>Read the <strong>Angle of refraction (\u03b8\u2082)<\/strong> in degrees, degrees and minutes, and radians.<\/li>\n<li>Check the second result for the <strong>critical angle and total internal reflection<\/strong>: if it exists, any incidence angle above it is totally internally reflected.<\/li>\n<\/ol>\n<h2>What Snell's law describes<\/h2>\n<p>Snell's law (also called the law of refraction) governs how light changes direction when it crosses the boundary between two transparent materials. Light travels at different speeds in different media, and the refractive index \\(n\\) expresses this: \\(n = c\/v\\), where \\(c\\) is the speed of light in vacuum and \\(v\\) is the speed in the material. When a ray passes into a medium with a higher index, it slows down and bends toward the normal; passing into a lower-index medium, it speeds up and bends away from the normal.<\/p>\n<p>The law was discovered experimentally in 1621 by the Dutch astronomer Willebrord Snellius and later derived theoretically, most elegantly from Fermat's principle of least time: light follows the path that minimizes travel time between two points. Snell's law explains familiar effects such as the apparent bending of a straw in a glass of water, the shallowness of pools (objects underwater appear closer to the surface than they really are), and the way lenses focus light in eyeglasses, cameras, and microscopes.<\/p>\n<p>Interpreting the output is straightforward: if \\(\\theta_2  \\theta_1\\), it entered a less dense medium and bent away. Note that a ray hitting the surface head-on (\\(\\theta_1 = 0\\)) passes straight through without bending, regardless of the indices.<\/p>\n<h2>Critical angle and total internal reflection<\/h2>\n<p>When light goes from a denser medium to a less dense one (\\(n_1 &gt; n_2\\), e.g. water to air or glass to air), the refracted ray bends away from the normal. As \\(\\theta_1\\) grows, \\(\\theta_2\\) reaches 90\u00b0 at some point \u2014 that incidence angle is the critical angle \\(\\theta_c\\). Beyond it, no refracted ray can exist: all the light is reflected back into the first medium with nearly perfect efficiency. This is total internal reflection.<\/p>\n<p>For a water\u2013air boundary, \\(\\theta_c = \\arcsin(1\/1.33) \\approx 48.75^\\circ\\); for common glass\u2013air, it is about 41.8\u00b0. Total internal reflection is the working principle of optical fibers that carry internet traffic, of prism binoculars and periscopes, and of the brilliant sparkle of cut diamonds (\\(n \\approx 2.42\\), critical angle only 24.4\u00b0).<\/p>\n<h2>Typical refractive indices<\/h2>\n<table>\n<thead>\n<tr>\n<th>Medium<\/th>\n<th>Refractive index (approx., visible light)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Vacuum<\/td>\n<td>1.0000<\/td>\n<\/tr>\n<tr>\n<td>Air<\/td>\n<td>1.0003<\/td>\n<\/tr>\n<tr>\n<td>Ice<\/td>\n<td>1.31<\/td>\n<\/tr>\n<tr>\n<td>Water<\/td>\n<td>1.33<\/td>\n<\/tr>\n<tr>\n<td>Ethanol<\/td>\n<td>1.36<\/td>\n<\/tr>\n<tr>\n<td>Crown glass<\/td>\n<td>1.52<\/td>\n<\/tr>\n<tr>\n<td>Sapphire<\/td>\n<td>1.77<\/td>\n<\/tr>\n<tr>\n<td>Diamond<\/td>\n<td>2.42<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Assumptions and limitations<\/h2>\n<ul>\n<li>The calculation assumes a flat, smooth boundary and monochromatic light. Real materials are <em>dispersive<\/em>: the index varies slightly with wavelength (blue light bends more than red), which is why prisms split white light into a spectrum.<\/li>\n<li>Some light is always reflected at the boundary even below the critical angle (typically 4\u20138% for glass\u2013air at moderate angles); Snell's law describes only the transmitted ray's direction, not the energy split.<\/li>\n<li>The angles must be measured from the normal. A common mistake is entering the angle from the surface instead \u2014 subtract it from 90\u00b0 before entering.<\/li>\n<li>Refractive indices must be positive; entering 0 for either medium is physically meaningless and will be rejected.<\/li>\n<li>The calculator does not model absorption, scattering, or behavior in anisotropic (birefringent) materials such as calcite, where a single refractive index is not well defined.<\/li>\n<\/ul>\n<p>For more physics tools, see our <a href=\"https:\/\/wpcalc.com\/en\/physics\/kinematic-equations-solver\/\">kinematic equations solver<\/a> or the <a href=\"https:\/\/wpcalc.com\/en\/physics\/conservation-of-energy-calculator\/\">conservation of energy calculator<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Enter the angle of incidence and the refractive indices of the two media to find the angle of refraction from Snell's law. The calculator also reports the critical angle and warns you when total internal reflection occurs.<\/p>\n","protected":false},"author":3168,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[62],"tags":[87],"class_list":["post-65887","post","type-post","status-publish","format-standard","hentry","category-physics","tag-waves-optics"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/65887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/users\/3168"}],"replies":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/comments?post=65887"}],"version-history":[{"count":1,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/65887\/revisions"}],"predecessor-version":[{"id":65913,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/65887\/revisions\/65913"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/media?parent=65887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/categories?post=65887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/tags?post=65887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}