OFFRE DE LANCEMENT25 € de crédits offerts à l'inscription sans CBJ'en profite
    TURNA, ferme de rendu Blender

    HDRI lighting in Blender: light a scene with an environment image

    T
    TURNA technical team
    24 October 2026
    14 min

    Short answer

    An HDRI is a high dynamic range panoramic photo that lights the whole scene. In Blender, you load it into the world with an Environment Texture node connected to the Background node, orient it with a Mapping node (Rotation Z) and set its power with the Strength value. Film > Transparent hides it in the image without removing its light. In EEVEE, Sun Threshold separates out the sun to give sharp shadows.

    Placing three lamps around an object gives you lighting, rarely an atmosphere. An HDRI brings in the light of a real place in one go: the sky, the sun, the walls that bounce light back, and the reflections all of these leave on shiny surfaces. This guide shows how to load one in Blender 5, orient it, set its intensity, hide it from the camera, back up its shadows with a sun, and what changes between Cycles and EEVEE. The last part covers free sources and how much memory these files really take.

    What is an HDRI?

    HDRI stands for high dynamic range image. An ordinary photo stores every pixel somewhere between the black and the white of the screen: the sun and a bright cloud end up with the same value, maximum white. An HDR image keeps the real difference, and the disc of the sun can be thousands of times brighter than the sky around it. That difference is what allows the image to light a scene, and not only to serve as its backdrop.

    The HDRIs used in 3D are complete panoramas, covering 360 degrees around the point where they were shot and everything from the zenith down to the ground. They are almost always stored in equirectangular projection, an image twice as wide as it is tall: a "4K" version measures 4096 by 2048 pixels. The two common formats are Radiance HDR (.hdr) and OpenEXR (.exr), which store floating-point numbers, at 16 or 32 bits per channel for EXR. A JPG version of an HDRI, often offered as a preview, has lost that dynamic range: it can serve as a background, not as a faithful light source.

    Loading an HDRI into the Blender world

    In Blender, the environment of a scene is called the World. By default, it contains a grey Background node connected to the World Output node. The HDRI plugs into the Color input of that Background node.

    1. Open the World tab of the Properties editor (the red globe icon).
    2. In the Surface panel, click the small round button to the left of Color and choose Environment Texture.
    3. Click Open and select your .hdr or .exr file.
    4. Switch the 3D Viewport to Rendered shading to see the scene lit by the image.

    Another way goes through the Shader Editor: switch it to the World type, then drag the image file from your file browser into the editor. The manual states that Blender then creates an Environment Texture node directly. All that is left is to connect its Color output to the Color input of the Background node.

    The Environment Texture node offers two projections. Equirectangular, the default, matches the panoramas described above. Mirror Ball is for photos of a chrome sphere, an older technique for capturing an environment. Leave the interpolation on Linear; Cubic smooths a background seen up close a little more, and Closest shows the raw pixels.

    For the colour space, keep what Blender sets when the file is opened. The manual points out that OpenEXR files are stored in a linear space, and that the Non-Color setting is meant for images that hold data rather than colours, such as a bump map. An HDRI set to Non-Color gives wrong colours.

    If you stay in Material Preview mode, you will not see your HDRI: that mode lights the viewport with EEVEE and an environment built into Blender. Tick the Scene World option in the viewport shading menu so that it uses the scene's world.

    Orienting the HDRI with the Mapping and Texture Coordinate nodes

    With nothing connected to its Vector input, the Environment Texture is applied with the Z axis pointing up, in the orientation the image was saved in. The sun rarely falls where you want it. To turn the environment, you have to give it coordinates that can be transformed.

    1. In the Shader Editor, in World mode, add a Texture Coordinate node.
    2. Add a Mapping node and connect the Generated output of the Texture Coordinate node to its Vector input.
    3. Connect the Vector output of the Mapping node to the Vector input of the Environment Texture.
    4. Change the Rotation Z value of the Mapping node: the environment turns around the vertical axis.

    Rotation moves the background, the direction of the light and the reflections at the same time. Set it by watching the shadows rather than the backdrop: put the sun of the image to the side of the object, or slightly behind it to draw a bright rim along its silhouette. Leave Location and Scale at their default values: for an environment, rotation is the only thing you need to orient it. The X and Y rotations tilt the horizon, which is mostly useful to correct an image that was not levelled properly.

    Setting the lighting intensity

    The Strength value of the Background node multiplies the light of the image. At 1, the HDRI lights the scene with the values recorded in the file; at 2, it lights it twice as strongly, and the visible background gets brighter by the same factor. That coupling is the limit of the setting: if the background becomes too bright while the scene still lacks light, the problem often lies in the overall exposure, not in the HDRI.

    Exposure is set in the Render Properties, in the Color Management panel, and acts on the whole image without changing the balance between the HDRI and your lamps. Use Strength to balance the environment against the other light sources, and exposure for the final brightness.

    To change the tint of the lighting, insert a colour node, for example Hue/Saturation/Value, between the Environment Texture and the Background. A slightly desaturated late-day HDRI sits better with an interior in neutral tones.

    Showing or hiding the HDRI from the camera

    Often the environment has to light the scene without appearing in it: a product on a plain background, a character to composite, an object to place on a photo. Blender offers three solutions.

    Transparent background

    In the Render Properties, Film panel, tick Transparent. The option exists in both Cycles and EEVEE: the background is rendered transparent, ready to be replaced in compositing, and the lighting from the HDRI stays intact. Then save the image in a format that keeps the alpha channel, PNG in RGBA or OpenEXR.

    Ray visibility in Cycles

    In Cycles, the world has a Ray Visibility panel, just like an object. It sets which types of rays see the environment. Untick Camera: the HDRI no longer shows in the background but keeps lighting the scene and appearing in reflections. Unticking Glossy does the opposite and removes its reflections from shiny surfaces.

    A background different from the light

    For a solid colour background, or a different panorama from the one that lights the scene, the Cycles manual describes a trick based on the Light Path node. Add a colour mix node between the Environment Texture and the Background, and connect the Is Camera Ray output of a Light Path node to its factor. The first colour lights the scene, the second is what the camera sees. Is Camera Ray is not limited to Cycles and also works in EEVEE.

    The manual draws a practical use from this: a high-resolution image for the visible background, and a lighter version of the same panorama for the lighting. Adding Is Glossy Ray to the factor makes the high-resolution image show up in reflections as well.

    For a product render with a floor that only receives shadows, the tutorial HDRI lighting for studio rendering (in French) explains how to set up the Shadow Catcher.

    Sharp shadows: adding a sun

    An overcast sky or studio HDRI gives soft shadows with no clear direction. Even a full-sun HDRI can produce blurrier or noisier shadows than expected, because the sun only covers a few pixels of the image. The usual fix is to add a Sun lamp.

    1. Add a Sun lamp (Shift+A, Light, Sun).
    2. Rotate it so that its direction matches the sun visible in the HDRI. Only its rotation counts: the manual states that the position of a Sun lamp has no effect on the render, since its light comes from infinitely far away.
    3. Set Angle, the apparent diameter of the sun: the smaller it is, the sharper the edges of the shadows.
    4. Adjust Strength. If the HDRI already contains a strong sun, the two add up: lower the lamp, or choose a version of the HDRI without the sun when the site offers one.

    Remember to line the lamp up again after every change of Rotation Z on the Mapping node: it does not follow the environment.

    Cycles or EEVEE: what changes with an HDRI

    Both engines read the same world, but they do not light the scene with it in the same way. The EEVEE manual says so plainly: Cycles treats world lighting as direct lighting, while EEVEE treats it as indirect lighting stored in an internal light probe, which makes it less accurate.

    In Cycles

    • In the world's Settings panel, setting Sampling to Auto or Manual turns on multiple importance sampling: Cycles sends more rays towards the bright areas of the image. The manual recommends it for an image that contains a small, intense light source such as a sun; on None, the noise can take a long time to clear.
    • Map Resolution sets the resolution of the map that guides this sampling. A high value picks up small bright details better, at the cost of memory and a slightly slower render.
    • Max Bounces limits the number of bounces the world light contributes to, and Cast Shadow lets you turn off the shadows cast by the environment.

    In EEVEE

    • The world's Light Probe panel sets the resolution at which the environment lighting is stored.
    • The Sun panel controls sun extraction. With a Threshold above zero, all the light above that threshold is removed from the probe and turned into a Sun light. The manual explains that probes alone do not reproduce this kind of lighting accurately enough; at zero, the feature is turned off.
    • Angle sets the apparent diameter of the extracted sun, and Use Shadow makes it cast shadows, with the same settings as a Sun lamp.

    In practice, a full-sun HDRI in EEVEE gives sharp shadows as soon as Sun Threshold and Use Shadow are set, with no added lamp. In Cycles, the HDRI is enough if its sun is well sampled, and a Sun lamp remains the simplest way to control the shadows and their direction precisely. Choosing the engine itself is covered in the guide how to render in Blender.

    Finding free HDRIs: Poly Haven and the CC0 licence

    Poly Haven is a free library of HDRIs, textures and models. Its licence page states that all its assets are released under CC0, the equivalent of the public domain: they can be used in any project, commercial work included, with no obligation to credit the author, and redistributed, including inside a product you sell. The site's terms exclude the rest of its content from this licence, such as logos, renders and text.

    Each HDRI is offered in several resolutions and in HDR and EXR formats. The page for a sky such as Kloofendal 48d Partly Cloudy (Pure Sky), for example, offers 1K to 16K, gives a dynamic range of 21 EV, and lists 75.64 MB for the 4K EXR version. A tonemapped 8K JPG is also available: it works as a preview or a background, not as lighting. On any other site, read the licence before downloading: CC0 is not the rule, and some libraries forbid redistribution or require a credit to the author.

    File size and memory

    The size of an HDRI on disk does not tell you how much it takes up during the render. The file is compressed; Blender decompresses it into floating-point numbers. An 8K panorama is 8192 by 4096 pixels, or 33.5 million pixels. With four 32-bit channels, that comes to 512 MB in memory, four times as much for a 16K, and a quarter of that for a 4K.

    The resolution you need depends on what the camera sees. If the HDRI is hidden, blurred by depth of field or only visible in rough reflections, a 2K or 4K lights the scene as well as a 16K. High resolution only helps when the background appears sharp in the image, and the Is Camera Ray trick then lets you keep it for the camera alone.

    In Cycles, the Simplify panel of the Render Properties has a Texture Size Limit setting, which automatically scales down textures above a chosen size. The Blender 5.2 manual also describes a texture cache, in the Performance panel: Cycles prepares .tx files there, stored by default in a blender_tx folder next to the images, so that it only loads the parts and resolutions it needs. The memory saving comes at the cost of a slight slowdown and some disk space.

    Common mistakes

    • The scene is bright pink: Blender can no longer find the image file. Reload it, or pack it into the .blend with Pack Resources.
    • The HDRI does not show in the viewport: Material Preview mode uses its own environment. Switch to Rendered mode or tick Scene World.
    • The lighting is flat and dull: the file is a JPG or a PNG, not a real HDR image. Download the .hdr or .exr version.
    • The Cycles render stays noisy or full of white dots: check that Sampling is not set to None in the world settings.
    • Shadows are blurry in EEVEE: Sun Threshold is at zero or Use Shadow is unticked.
    • The colours are wrong: the colour space of the image has been set to Non-Color.
    • The background is pixelated: the resolution is too low for a sharp background. Use a larger version for the camera only.

    Frequently asked questions

    What is an HDRI?

    An HDRI (high dynamic range image) is a panoramic photo that covers the whole environment around a point and records light intensities far above what a screen can display. Placed in the Blender world, it lights the scene and shows up in reflections on objects the way the photographed place would.

    How do I add an HDRI in Blender?

    In the World tab of the Properties editor, click the button to the left of Color, choose Environment Texture, then open the .hdr or .exr file. You can also drag the file into the Shader Editor while it shows the world: Blender creates the node for you.

    How do I rotate an HDRI in Blender?

    Connect the Generated output of a Texture Coordinate node to a Mapping node, then the output of the Mapping node to the Vector input of the Environment Texture. The Rotation Z value turns the environment around the vertical axis, and the direction of the light and reflections turns with it.

    How do I hide the HDRI but keep its lighting?

    Tick Transparent in the Film panel of the Render Properties: the background becomes transparent in the image and the light stays. In Cycles, unticking Camera in the world's Ray Visibility panel has the same effect. For a solid colour background, mix the HDRI with a colour using the Is Camera Ray output of a Light Path node.

    Where can I find free, royalty-free HDRIs?

    Poly Haven publishes all its HDRIs under the CC0 licence: you can use them in any project, commercial work included, with no obligation to credit the author. Each image comes in several resolutions, starting at 1K, in HDR and EXR formats. On any other site, read the licence before downloading.

    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 €2.90 per hour, billed on the time actually used, with a 30-second minimum, 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.

    Before sending the scene to another machine, pack the HDRI into the file with File > External Data > Pack Resources, then save: packing only takes effect when the file is saved. To estimate how long a sequence will take before you start it, the render time calculator works from the time of one frame and the number of frames.