A curated library of useful motion design insights

About IOR Material List

Even though I don’t create photorealistic renders, I often look up IOR values for glass, metal, and other materials. But the databases I find are not always user-friendly, or worse, just incorrect.

To fix that, I spent over 55 hours and built my own, using only reliable sources:
💎 IOR Material List

To make it easy to use, I added:

  • Smart search by name, synonyms, value, and category
    You can find saltwater by typing sea, 1.34 or liquid
  • A source link for each material
    So you can check exactly where the value came from
  • One-click copy for any value
  • Labels with ★ for the 20 most common materials
  • CSV file with a full dataset of 120+ materials

To keep things accurate, I had to add one more feature:

  • Separate table for metals with complex IOR values

To explain why I had to split the materials into two tables, let’s dive into the optics for a bit.

What is IOR?

In 3D, we use index of refraction to control how strong the refraction looks. But physically speaking, it measures how much light slows down when entering a material.

For example, water has an IOR of 1.33. That means light travels about 25% slower in water than in a vacuum.

Here’s why:
We use the speed of light in a vacuum as the baseline. It has an IOR of 1.
To find how much light slows down, we divide 1 by the material’s IOR.

  • 1 / 1.33 ≈ 0.75: light in water keeps only 75% of its speed
  • 1 − 0.75 = 0.25: that’s 25% slower

The higher the IOR, the slower the light, and the stronger the refraction.

Why does light bend when it slows down?

Here’s an easy way to picture it.

Imagine roller skating on smooth pavement. Suddenly, your right foot hits grass and slows down. But your left foot keeps rolling, and your whole body starts to turn.

Light behaves the same way. When it hits a denser material at an angle, one side of the wave slows down first, causing it to change direction.

Why can’t IOR be below 1?

IOR less than 1 would mean light goes faster than in vacuum when entering the material. That only happens in rare cases like x-rays or plasma, but not in everyday materials. That’s why:

A single IOR value below 1 is never physically accurate for materials we use in 3D

Of course, unrealistic material settings are totally fine when they support artistic vision, but they just don’t belong in a physically accurate list.

Simple IOR for common materials

Most materials like glass or water interact with light in a simple way. Light just passes through with almost no absorption, and we only need to describe how much it bends.

A single value is enough for that: the refractive index, n:

  • Ice: n = 1.31
    Light slows slightly, minor refraction
  • Diamond: n = 2.42
    Light slows more, stronger refraction

In reality, red, green and blue wavelengths bend slightly differently. This effect is called dispersion. But since the difference is usually small, we typically use the n value only for green light, simply because it sits near the center of the visible spectrum.

Complex IOR for metals

Metals behave in a more complex way. Light doesn’t pass through them. Instead, most of it reflects, and the rest gets absorbed.

To describe this behavior, a single IOR value is not enough. Instead, we use a complex IOR, made of two parts:
n (real part) — controls brightness and color of reflections in combination with κ
κ (imaginary part) — controls how much light gets absorbed

Plus, metals reflect red, green, and blue light differently. That’s what gives them their color tint, like the yellow of gold. To capture this, we need a separate n, κ pair for each channel. That’s why it’s also called RGB IOR.

complex ior for gold

In metals, light doesn’t travel through the material, so n doesn’t describe speed inside the material. It only affects how the reflection looks. That’s why n can be below 1 in metals, but only as part of a complex IOR with κ.

Technically, we could also use complex IOR values for non-transparent materials like wood or plastic, since they also absorb light. But their absorption is so minimal that one IOR value is accurate enough.

How to use complex IOR?

For most projects, RGB IOR is overkill. Usually it’s enough to set Metalness to 1 and pick the base and specular colors. For accurate colors, use values from Physically Based.

But if you want to be precise:

  1. Check how your renderer works with RGB IOR:
  2. Find a metal in the IOR list
  3. Copy the RGB values for n and κ, and paste them in the same order as shown in the table

Conclusion

It’s surprising how much complexity hides behind a simple value we use so often. That’s exactly why I built this database and wrote this article. To simplify workflows and shed light on what IOR actually means.

If you want to dive deeper into the optics, I recommend these great videos by 3Blue1Brown. I partly used them as sources for this article:

If you’d like to suggest materials to add, feel free to reach out. I’m always looking to improve the list.

Send
Pin
Share