Blender textures: free sources and how to connect each map

Updated · 6 min read

Short answer: in Blender, each texture goes into an Image Texture node that feeds the Principled BSDF. Plug the colour map into Base Color and leave it on sRGB. Set roughness, metallic and normal maps to Non-Color. Send the normal map through a Normal Map node first. Free CC0 sets come from Poly Haven and ambientCG.

This guide lists free places to get textures, shows which map goes into which socket in one table, then walks through the setup by hand and with the one-click Node Wrangler shortcut. If you are new to the map types, read PBR maps explained first.

Try it on your own model

Upload a GLB, OBJ, FBX, STL or PLY file (or pick a sample), describe the look, and let AI paint it from every side.

Open the AI 3D Texturing Studio

Where to get free textures for Blender

Most free texture sets come as a folder of images: one for colour plus a few "data" maps such as roughness and normal. These three sources are free and allow commercial use, as each one states:

SourceLicence (as the site states it)Maps you getSizes
Poly HavenCC0, any purpose, no credit neededColour, normal (OpenGL and DirectX), roughness, AO, displacement, plus a ready .blend file1K to 8K
ambientCGCC0 1.0, no credit needed, commercial use allowedPBR material setsVaries by set
Our texture libraryFree for personal and commercial projects, no attribution neededColour, normal (OpenGL or DirectX), height, roughness1024 px, seamless

Our library has free seamless sets for wood, concrete, brick, stone, metal, fabric, grass and more. The colour image is made with our own AI model, and the other maps are made from it in your browser.

Always download the OpenGL normal map for Blender when a site offers both. Blender expects OpenGL by default.

Which map goes where (and which colour space)

This is the table to keep open. "Colour space" is the drop-down on each Image Texture node. Blender's manual says maps that do not hold real colours, such as normal and bump maps, should be Non-Color. Roughness, metallic and height maps are data too, so they get Non-Color as well.

MapConnect toColour spaceNote
Base colour (albedo, diffuse)Principled BSDF > Base ColorsRGBThe only map that stays sRGB in most sets
RoughnessPrincipled BSDF > RoughnessNon-Color0 = sharp reflections, 1 = fully matte
MetallicPrincipled BSDF > MetallicNon-ColorWhite = metal, black = not metal
NormalNormal Map node > Principled BSDF > NormalNon-ColorNever connect it straight to the Normal socket
Height / displacementDisplacement node > Material Output > DisplacementNon-Color16 or 32-bit files work best
Alpha (opacity)Principled BSDF > AlphaNon-ColorOr use the Alpha output of the colour image
EmissionPrincipled BSDF > Emission ColorsRGBFor glowing parts
Ambient occlusion (AO)No input on the Principled BSDFNon-ColorUsually left out in Blender

The normal map gets its own node because its pixels store directions, not colours. To learn how that works and why most normal maps look blue, see what is a normal map.

How to add textures in Blender, step by step

Before you start, the model needs a UV map. An Image Texture node with nothing plugged into its Vector input uses the active UV map. If your model has none, see UV unwrapping explained.

  1. Select the model and open the Shading workspace. Click New to add a material if it has none. Blender adds a Principled BSDF for you.
  2. Press Shift+A, choose Texture > Image Texture, then click Open and pick the colour map.
  3. Connect the node's Color output to Base Color. Leave its colour space on sRGB.
  4. Add another Image Texture node for the roughness map. Set its colour space to Non-Color and connect Color to Roughness. Do the same for metallic if the set has one.
  5. Add an Image Texture node for the normal map and set it to Non-Color. Add a Normal Map node (press Shift+A and search for it), connect the image to its Color input, then connect its Normal output to the Principled BSDF's Normal input.
  6. Switch the viewport to Material Preview or Rendered view to check the result.

The fast way: Node Wrangler

Blender ships with the Node Wrangler add-on. Turn it on in Edit > Preferences > Add-ons (search "Node Wrangler"). Then select the Principled BSDF and press Shift+Ctrl+T (Add Principled Setup). Pick all the texture files at once. Node Wrangler adds the image nodes, sets each colour space and links them. It reads the map type from tags in the file names, such as "roughness" or "normal", so keep the original names.

Normal map and displacement settings

Normal Map node

  • Space: leave it on Tangent Space. That is what almost every downloaded texture uses.
  • Strength: turn it down if the bumps look too strong, or up to push them.
  • Convention: Blender uses OpenGL (green up) by default. If you only have a DirectX normal map, the current manual lists a DirectX option on this node. Otherwise the bumps will look pushed in instead of out.

Height and displacement

Connect the height map to a Displacement node, and that node to the Displacement input of the Material Output. In the material settings you can then pick Bump Only, Displacement Only or both. Bump only fakes the depth in the shading. Real displacement moves the mesh, so it needs a finely subdivided model.

For a height map used as bump, set the Image Texture node's Interpolation to Cubic. The Blender manual recommends it for bump maps because it looks smoother.

Tiling and models without UVs

Leave Extension on Repeat so a seamless texture tiles across a big surface. For a quick test on a model with no UVs, set Projection to Box and raise Blend to soften the joins.

Texture a whole model in the browser, then open it in Blender

Tiling textures are great for walls and floors. For one whole object, like a character or a prop, the AI 3D texturing studio paints a texture made just for that model from a text prompt. It works in your browser and needs no node setup.

You download a GLB with the texture inside. In Blender, open it with File > Import > glTF 2.0 (.glb/.gltf) and the material comes in already connected. Want a normal map for a texture you already have? The free normal map generator makes one in your browser.

Texture a model with AI

Upload a GLB, OBJ, FBX, STL or PLY, describe the look, and download a textured GLB plus the texture PNG.

Open the studio

Questions

Where can I get free textures for Blender?

Poly Haven and ambientCG both give away full PBR texture sets under CC0, which allows commercial use with no credit. Our own texture library has free seamless sets with colour, normal, height and roughness maps.

Should a normal map be sRGB or Non-Color in Blender?

Non-Color. A normal map stores directions, not colours, and the Blender manual says such maps should be set to Non-Color. Roughness, metallic and height maps should be Non-Color too. Only the base colour and emission maps stay sRGB.

Why does my normal map look wrong in Blender?

The usual causes are: the image is still set to sRGB, it is plugged straight into the Normal socket without a Normal Map node, or it is a DirectX map. Blender expects OpenGL normal maps by default, so download the OpenGL version when you can.

Where does the ambient occlusion map go in Blender?

The Principled BSDF has no ambient occlusion input, so in a basic setup you can leave the AO map out.

What is the fastest way to add a full texture set in Blender?

Turn on the Node Wrangler add-on, select the Principled BSDF and press Shift+Ctrl+T. Pick all the texture files at once and it builds and connects the whole node setup for you.

Ready to texture something?

Upload a GLB, OBJ, FBX, STL or PLY file (or pick a sample), describe the look, and let AI paint it from every side.

Start texturing

Step-by-step tutorials

Keep reading

Sources

Checked 2026-10-18. Other tools change their features and prices often, so check their own pages too.