🌈 Infrared Spectroscopy Simulator
Interactive 3D infrared spectroscopy simulator: watch molecular vibrational modes (stretching, bending) resonate with an IR beam, build a transmittance-vs-wavenumber spectrum, and click any absorption peak to see which vibration produces it.
How it Works
Every covalent bond behaves like a tiny spring: the two atoms it connects can stretch apart, squeeze together, or swing at an angle, each at its own natural frequency set by the bond's stiffness and the masses on either end. When infrared light of exactly that frequency passes through the molecule, the bond absorbs the photon's energy and its vibration amplitude jumps — but only if that particular vibration changes the molecule's dipole moment. A vibration that leaves the dipole moment unchanged (like the symmetric stretch of linear, symmetric CO₂) cannot absorb IR light at all: it is IR-inactive, even though it vibrates.
Here ν is the vibrational frequency, k the bond's force constant (stiffness) and μ the reduced mass of the two atoms. Stiffer bonds and lighter atoms vibrate faster (higher wavenumber): an O–H stretch (~3300–3650 cm⁻¹) sits far above a C–O stretch (~1050 cm⁻¹) because hydrogen is so light. Scanning the beam's wavenumber across the molecule and plotting how much light gets through at each frequency produces the transmittance spectrum — a dip (absorption peak) appears exactly where the beam frequency matches an IR-active vibrational mode.
In this simulator each molecule's known vibrational modes are pre-computed from real infrared spectroscopy data. Drag the wavenumber slider, or press auto-scan, and watch the 3D model: when the beam frequency lands on an active mode, that specific stretch or bend animates with a much larger amplitude (resonance) and the spectrum below dips. Click directly on a peak to jump the beam straight to that mode and see it highlighted in 3D.
Frequently Asked Questions
Why does the CO₂ symmetric stretch not show up in the spectrum?
In CO₂ the two oxygen atoms move outward and inward together while carbon stays still. Because CO₂ is perfectly symmetric, this motion never changes the molecule's dipole moment (it stays zero throughout), so no photon can be absorbed by it — the mode is IR-inactive. Only the asymmetric stretch and the bend, which do change the dipole moment, appear as peaks.
What is the difference between stretching and bending vibrations?
A stretch changes the distance between two bonded atoms along the bond axis. A bend changes the angle between two bonds sharing a common atom, without changing bond length. Stretches generally need more energy (higher wavenumber) than bends of the same atoms because bond length is stiffer than bond angle.
Why is the O-H stretch around 3300-3650 cm⁻¹?
Wavenumber scales with √(k/μ). Hydrogen is the lightest atom, so the reduced mass μ of an O–H or C–H pair is small, which pushes the frequency high even though the bond itself isn't unusually stiff. That is why every X–H stretch (O–H, N–H, C–H) clusters in the same high-wavenumber region of the spectrum, well separated from heavier-atom stretches like C–O or C–C.
Why does C=O absorb near 1700 cm⁻¹?
A double bond is roughly twice as stiff as the equivalent single bond, and force constant k sits inside a square root, so C=O (stiff, k large) lands around 1700 cm⁻¹ — well above a typical C–O single-bond stretch near 1050–1300 cm⁻¹ but below the light-atom X–H region.
What does "resonance" mean in this simulation?
Resonance is when the IR beam's frequency exactly matches a bond's natural vibrational frequency. Off-resonance, the beam passes through with almost no energy transfer (transmittance stays near 100%). On resonance, energy transfers efficiently into that specific vibration — its 3D amplitude grows sharply and the spectrum shows an absorption dip at that wavenumber.
Why does water have three distinct vibrational modes?
A non-linear molecule with N atoms has 3N-6 vibrational modes. Water has 3 atoms, so 3(3)-6 = 3 modes: symmetric stretch, asymmetric stretch, and bend. All three change water's dipole moment, so all three are IR-active and all three appear in a real water IR spectrum.
How many vibrational modes does a linear molecule like CO₂ have?
A linear molecule with N atoms has 3N-5 vibrational modes (one more than a bent molecule of the same size, because it has one fewer possible rotation axis). CO₂ has 3 atoms, giving 3(3)-5 = 4 modes: symmetric stretch, asymmetric stretch, and a doubly-degenerate bend (two perpendicular bending motions at the same frequency).
Interactive 3D infrared spectroscopy simulator: pick CO2, H2O or formaldehyde, watch their real vibrational modes (symmetric/asymmetric stretch, bend) animate at resonance with a tunable IR beam, and build a Lorentzian transmittance-vs-wavenumber spectrum. Click any absorption peak to jump the beam to that wavenumber and see exactly which stretch or bend produces it, including why IR-inactive modes like CO2's symmetric stretch never appear.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install