Widgets

How to Add a Refraction Simulator to Your Website

LK Forge · 4 min read · Updated September 2026

You can add a full refraction and Snell's law simulator to any website, blog, or classroom page with a single line of code — free, with no sign-up, no plugin, and no script to install. Visitors bend a ray across a boundary, change the two materials, and find the point where light can no longer escape. This guide covers the fastest way to embed the Refraction Simulator, what it teaches, and where it works.

The quickest way: paste one embed snippet

An embed is just an <iframe> that loads the simulator from lkforge.com, plus a small credit line. Copy this into your page’s HTML where you want the widget to appear:

<iframe src="https://lkforge.com/embed/refraction/"
        width="100%" height="900" loading="lazy"
        style="border:0;max-width:560px"
        title="Refraction & Snell's Law Simulator by LK Forge"></iframe>
<p><a href="https://lkforge.com/tools/physics/refraction/">Refraction & Snell's Law Simulator</a>
   by <a href="https://lkforge.com/">LK Forge</a></p>

The <iframe> is the live simulator; the <p> underneath is a plain credit link. Keep that line — the visible link is what keeps the widget free to embed. You can also copy this exact code straight from the LK Forge widget gallery.

What the widget shows

The simulator opens with a ray already crossing a boundary, so a visitor sees the bend immediately and can then take control:

  • Angle of incidence: drag the incoming ray or use the slider to change how steeply it strikes the surface.
  • Two materials: choose the medium on each side — air, water, ice, oil, glass or diamond — to change the indices.
  • Reflected and refracted rays: watch the light split, and see the refracted ray bend toward or away from the normal.
  • Live angles: the incidence and refraction angles, the critical angle, and a flag for total internal reflection.

Pick the right height

The snippet uses height="900", which fits the diagram, the slider, the material menus and the readouts without clipping even on a narrow phone, where they stack into one column. On a wider page the widget centres within its max-width:560px. That single height works across screen sizes, so there is nothing to tweak for mobile.

Where it works

Because it is a standard iframe, the embed works anywhere you can add HTML:

  • WordPress: add a Custom HTML block and paste the snippet.
  • Squarespace: use a Code / Embed block.
  • Wix: add an Embed HTML / iframe element.
  • Ghost: insert an HTML card.
  • Notion: paste the /embed/refraction/ URL and choose "Create embed".
  • Plain HTML, an intranet, or a lesson page: paste the snippet straight into the markup.

That’s the whole job. Copy the embed code from the widget gallery and paste it wherever a physics lesson or a blog post on optics, lenses or total internal reflection needs a ray students can actually bend.

Grab the embed code from the LK Forge widget gallery — free, no sign-up.

Open the Refraction Simulator

Frequently asked questions

Is embedding the refraction simulator free?
Yes. It is free to embed on any site, with no account, no API key and no usage limits. The whole simulation runs in your visitor’s own browser, so there is no server cost — we only ask that you keep the small "Refraction & Snell's Law Simulator by LK Forge" credit line that comes with the embed code.
What can visitors do with the embedded simulator?
They can drag the incoming ray or use a slider to set the angle of incidence, and pick the material on each side of the boundary from air, water, glass, diamond and more. The ray splits into a reflected and a refracted part in real time, and a live panel shows the incidence and refraction angles, the two indices, the critical angle and whether the light refracts or undergoes total internal reflection.
Does the embed teach Snell's law?
Yes. The refracted angle is computed straight from Snell's law, n1 sin(theta1) = n2 sin(theta2), so students can match the bending they see to the equation: toward the normal going into a denser medium, away from it going into a rarer one. Setting a dense medium over a rare one and raising the angle past the critical angle shows total internal reflection switching on.
What iframe height should I use, especially on mobile?
The snippet ships with height="900", which is tall enough that the ray diagram, the angle slider, the material menus and the readouts all fit without clipping even on a narrow phone where everything stacks into a single column. On a wider page the widget simply centres within its max-width of 560px. If you want it shorter you can lower the height, but 900 is the safe default across screen sizes.
Where can I embed it — WordPress, Wix, Squarespace, Notion?
Anywhere you can add HTML, because it is a standard iframe. In WordPress use a Custom HTML block; in Squarespace a Code/Embed block; in Wix an Embed HTML element; in Ghost an HTML card; in Notion paste the /embed/refraction/ URL as an embed. On a plain HTML page or an intranet, paste the snippet straight into the markup.
Does the embedded simulator track visitors or set cookies?
No. Everything runs locally in the visitor’s browser — nothing is uploaded. The embed sets no tracking cookies and sends no analytics, so it is safe to place on a privacy-sensitive site, an intranet, or a page for students.