LAUNCH OFFER€25 in free credits when you sign up, no card requiredClaim the offer
    TURNA, Blender render farm
    Back to the Blender guides

    Subsurface scattering: what it is and how to use it in Blender (Cycles and EEVEE)

    T
    TURNA technical team
    28 October 2026
    11 min

    Short answer

    Subsurface scattering (SSS) is light that enters a material, scatters under the surface and comes out at another point. It gives skin, wax, milk, marble and leaves their soft look. In Blender, open the Subsurface panel of the Principled BSDF and set Weight to 1: the Base Color becomes the scattering color, Radius sets how far red, green and blue travel, and Scale turns that into a distance in scene units.

    Starting point for skin in Blender 5.2, on a model built at real size: Subsurface Weight 1, method Random Walk (Skin), Radius left at 1.0, 0.2, 0.1 so that red travels furthest, Scale at its default of 0.005 m (5 mm), Anisotropy 0.8, the value the manual gives as measured for skin. Then adjust Scale by eye.

    Menus and default values below are those of Blender 5.2, checked against its manual and source code. Many subsurface tutorials predate the changes of Blender 4.0, 4.2 and 5.2, so each section says what moved.

    What is subsurface scattering?

    With a plain diffuse material, a renderer sends light back from the very point it hit. On skin, wax, marble or milk, part of the light goes through the surface instead. The Blender manual describes it this way: the light penetrates the surface and bounces around internally before getting absorbed or leaving the surface at a nearby point. That is subsurface scattering, often shortened to SSS.

    You see it as shadows with soft, slightly colored edges, thin parts that glow when lit from behind (an ear, a leaf, a candle) and a color that seems to come from inside. The distance light travels also depends on its color: in skin, red scatters further than green and blue, which gives skin its reddish shadows. Blender lets you set that distance separately for each channel.

    How to add subsurface scattering in Blender

    1. Select the object and open the Material tab of the Properties editor. Click New if it has no material.
    2. In the Surface panel, open the Subsurface group of the Principled BSDF, closed by default.
    3. Set Weight to 1. The manual describes it as a blend between diffuse and subsurface that should typically be 0 or 1.
    4. Set the Base Color. Since Blender 4.0 it is also the scattering color: the separate Subsurface Color input is gone.
    5. Check Radius and Scale against the size of your model (see below).
    6. Judge the result in the Rendered viewport mode (Z pie menu) with your final engine.

    In Blender 3.x, the inputs were Subsurface, Subsurface Radius and Subsurface Color, and the 3.6 manual explains that Subsurface also multiplied the radius. A tutorial that sets Subsurface to 0.1 is using it to shrink the radius: since 4.0, keep Weight at 1 and size the effect with Scale. The other inputs are covered in the guide to materials in Blender.

    The Subsurface settings of the Principled BSDF

    SettingWhat it doesDefault (5.2)Engine
    Method (menu)How the scattering is computedRandom WalkRandom Walk variants: Cycles
    WeightBlend between diffuse and subsurface0Cycles and EEVEE
    RadiusScattering distance for red, green and blue1.0, 0.2, 0.1Cycles and EEVEE
    ScaleDistance the Radius is multiplied by0.005 m (0.05 m before 5.2)Cycles and EEVEE
    IORRefraction of light entering the material1.4, Random Walk (Skin) onlyCycles
    AnisotropyDirection of scattering inside0, unused with Christensen-BurleyCycles

    Radius

    Radius is the average distance light scatters below the surface, given per channel: X, Y and Z stand for red, green and blue. A higher radius gives a softer look, as light bleeds into shadows and through the object. The default, 1.0, 0.2 and 0.1, already follows skin: red travels five times further than green, ten times further than blue.

    Scale and the size of your scene

    The actual distance is Radius multiplied by Scale, and Scale is a length: 0.005 m by default in Blender 5.2, that is 5 mm. The size of the model therefore matters as much as the setting. The same material on a head modeled ten times too large looks far more opaque; on a model ten times too small, light bleeds through everything.

    Check the size in the Sidebar (N), Item tab, under Dimensions. The Unit Scale of the scene only changes the values displayed, not the computation. A model imported in centimeters and read as meters is 100 times too large: fix the model, or multiply Scale by the same factor.

    IOR and Anisotropy

    IOR, shown only with Random Walk (Skin), can differ from the main IOR to simulate the layers of skin, says the manual. Anisotropy at 0 scatters evenly; positive values push light forward, negative values send more of it back (negative values arrived in 5.2). The manual gives 0.8 as the value measured for skin.

    Subsurface methods: Christensen-Burley, Random Walk, Random Walk (Skin)

    Method (Blender 5.2)What the manual saysUse it for
    Christensen-BurleyAn approximation, less accurate than Random Walk, but can resolve noise faster in some situationsScenes where noise clears too slowly
    Random WalkCycles only. True volumetric scattering inside the mesh, accurate on thin and curved objects, best on closed meshesThe default: wax, marble, milk
    Random Walk (Skin)Cycles only. Radius adjusted from the color texture, entry with its own IOR, closer to measured skinSkin
    Random Walk (Legacy)Cycles only. A different mapping of the parameters, to be deleted in the futureFiles made before 5.2

    The name Random Walk has covered three methods, which explains many confusing tutorials:

    • Blender 3.x: Christensen-Burley, Random Walk (Fixed Radius), and a Random Walk that adjusted the radius from the color and the IOR.
    • 4.0 to 5.1: Random Walk (Fixed Radius) became Random Walk, and the 3.x Random Walk became Random Walk (Skin).
    • 5.2: a new Random Walk uses Radius times Scale as the scattering distance, while Christensen-Burley and the earlier Random Walk divide it by 4π, about 12.6. The default Scale went from 0.05 m to 0.005 m. Files saved with the earlier Random Walk open as Random Walk (Legacy) and keep their look.

    So with the new Random Walk, a Scale copied from a pre-5.2 tutorial scatters about 12.6 times further and looks far more translucent. Divide it by about 12.6 to get close to the old look, then adjust by eye, or switch to Random Walk (Legacy). Christensen-Burley and Random Walk (Skin) did not change.

    The Subsurface Scattering node

    In the Shader Editor, Shift+A, Shader, Subsurface Scattering adds a separate node. It takes Color, Scale (0.005 by default), Radius, IOR, Roughness, Anisotropy and Normal, offers the same methods and outputs a BSSRDF. Roughness, added in Blender 4.2, appears with Random Walk and Random Walk (Legacy).

    The node produces only the scattering, without the specular layer the Principled BSDF puts on top. Use it when the scattering color must differ from the surface color, and add reflections yourself, for example with a Glossy BSDF and a Mix Shader. For most materials, the Principled BSDF is simpler.

    Subsurface scattering in EEVEE since Blender 4.2

    Up to 4.1, EEVEE had a Subsurface Scattering panel in the Render Properties (Samples, Jitter Threshold) and a Subsurface Translucency checkbox in the material Settings. Both went with the rewrite of EEVEE in 4.2: translucency is now always evaluated, and there is nothing to enable.

    • Screen space. According to its source code, EEVEE blurs the diffuse lighting of the visible pixels to mimic scattering. It therefore shares the limits the manual lists for screen space effects: only what is in view counts, and the effect can weaken at the frame border, which Overscan partly fixes.
    • No leaking. The 4.2 release notes state that scattering no longer leaks between objects and that any number of subsurface nodes with any radii are supported.
    • Thickness. For light passing through, EEVEE uses a thickness based on the smallest dimension of the object. You can plug a value into the Thickness socket of the Material Output, choose Sphere or Slab in Settings, Surface, Thickness, and enable From Shadow to refine it with shadow maps, at a cost that grows with samples.
    • Cycles-only settings. IOR, Anisotropy and the Random Walk methods have no effect in EEVEE. One exception in 5.2: EEVEE enlarges the radius when the method is Random Walk, to stay consistent with Cycles.

    Material Preview always runs on EEVEE, so judge a Cycles material in Rendered mode. The choice between engines is covered in how to render in Blender.

    Starting values for skin

    1. Make sure the character is at real size: about 1.8 units tall for an adult, 1 unit being 1 m.
    2. Weight 1, method Random Walk (Skin), Base Color from your skin texture.
    3. Keep Radius at 1.0, 0.2, 0.1: red must stay the largest.
    4. Start Scale at the default and adjust by eye. Random Walk (Skin) also adjusts the radius from the color, so the same Scale does not give the same depth as plain Random Walk.
    5. Anisotropy 0.8, the measured value given by the manual; IOR at 1.4 to start.

    Think in millimeters. With the Random Walk method in Blender 5.2, the default Radius and Scale give red a scattering distance of 5 mm, green 1 mm and blue 0.5 mm. From 4.0 to 5.1, Random Walk divided the 0.05 m default by 4π, which gave about 4 mm for red. Random Walk (Skin) then adjusts these distances from the color. A light behind the subject shows the effect clearly, as the ears start to glow: the guide to lighting in Blender explains how to place a rim light.

    Leaves, paper and other thin objects

    A leaf modeled as a single plane has no inside to scatter in. Blender 5.2 added a Thin Wall input to the Principled BSDF for paper, leaves and window sheets: the surface becomes a slab of zero thickness, and Radius, Scale and Method no longer apply. With Subsurface Weight at 1, light comes through the sheet. In EEVEE, the manual then asks for a Thickness of 0 and the Slab mode. In older versions, the Translucent BSDF node adds diffuse transmission instead.

    Common subsurface scattering problems

    • Nothing changes. Weight is still 0, Scale is tiny for the model, or Metallic or Transmission Weight is at 1: the base layer is then fully metal or fully transmissive, with no room for subsurface.
    • The object looks like jelly. The scattering distance is too large for the model, often because the model is too small or the Scale comes from a pre-5.2 tutorial.
    • Dark or blotchy areas with Random Walk. The manual warns that holes and overlapping faces cause problems. In Edit Mode, Select, Select All by Trait, Non Manifold shows holes, and Merge by Distance removes duplicate vertices. Inner faces cut the walk short too, such as eyes joined into the head mesh: in the Cycles source, the walk stops at the first face of the object it meets.
    • A line where two objects meet. The walk never leaves the object it started in, so light does not scatter from a head into a separate neck. Use one continuous mesh, or hide the join.
    • Flipped normals. Cycles shades a face seen from behind as if its normal pointed toward the viewer, so a flipped normal alone does not stop scattering. It matters elsewhere, for example with Backface Culling in EEVEE. The Face Orientation overlay shows back faces in red; Mesh, Normals, Recalculate Outside (Shift+N) fixes them.
    • Cycles and EEVEE do not match. The manual is clear that EEVEE shaders are approximations, so small differences remain. For thin parts, check the Thickness first.

    Render time and noise in Cycles

    With the Random Walk methods, each time a path enters the surface, Cycles traces a walk of short rays inside the mesh until the light finds a way out. Indirect light is where the methods differ. Up to Blender 4.5, once a path had bounced off a diffuse surface, Cycles shaded any subsurface material it reached as plain diffuse: a source comment explains that the effect is hard to see there and adds considerable noise. Since 5.0, the Random Walk methods keep scattering on those paths, which reduces darkening artifacts, mainly visible with a large radius, at the cost of some render time. Christensen-Burley still takes the shortcut. To measure the cost in your scene, render one frame with Weight at 0 and at 1 and compare time and noise.

    Subsurface noise is handled like any other: the noise threshold stops sampling where the image is clean and the denoiser does the rest; the guide on how to render faster in Cycles covers the other settings. For compositing, subsurface light lands in the Diffuse passes. The light and imperfections that complete a believable portrait are covered in photorealistic rendering in Blender.

    Frequently asked questions

    What is subsurface scattering?

    Light that enters a translucent material, scatters inside it and leaves the surface at a different point. It softens the transition into shadow and makes thin parts glow when lit from behind. Skin, wax, milk, marble and leaves are the usual examples. In 3D rendering it is often shortened to SSS.

    How do you add subsurface scattering in Blender?

    Select the object, open the Material tab and expand the Subsurface panel of the Principled BSDF. Set Weight to 1, pick the scattering color with Base Color, then adjust Radius and Scale to the real size of the model. Judge the result in the Rendered viewport mode.

    Why is subsurface scattering not showing in Blender?

    Usually Weight is still at 0, its default, or Scale is tiny compared with the model, for example a character imported 100 times too large. Metallic or Transmission Weight at 1 also leaves no room for subsurface.

    Does EEVEE support subsurface scattering?

    Yes. Since Blender 4.2 it is always on and has no setting in the Render Properties: the old Subsurface Scattering panel and the Subsurface Translucency checkbox were removed. EEVEE approximates the effect in screen space and uses the Thickness of the material for light passing through. IOR and Anisotropy only affect Cycles.

    Random Walk or Christensen-Burley: which subsurface method should I use?

    Random Walk, the default, gives accurate results on thin and curved shapes but needs a closed mesh. Random Walk (Skin) adjusts the radius from the color and is designed for skin. Christensen-Burley is less accurate but, according to the manual, can resolve noise faster in some situations.

    Rendering the animation on TURNA

    When a scene is already well optimised and the frame count is what takes the time, the remaining lever is rendering several frames at once. TURNA does this for Blender: an add-on (Blender 4.0 to 5.2, Cycles and Eevee) sends the scene in one click, and the frames are split across 1, 2, 4 or 8 GPUs in parallel, RTX 5090 first and RTX 4090 when none is free. The add-on shows the estimated cost before anything starts. Prices start at €4.90 per hour, billed on the time actually used, with a 2-minute minimum (30 seconds until November 9), and new accounts get €25 of free credit. A single still image is still rendered by one machine, so the gain is on animations. Tiers and worked examples are on the Blender render farm page.