PBR Material Viewer

Drop all of a material’s texture maps at once, or the ZIP you downloaded, and see them as a real PBR material in 3D. Maps are sorted into slots by file name (Poly Haven, ambientCG, Megascans and Substance names all work), DirectX normals are flipped, and checks flag mismatched sizes and grey metal maps. Everything runs in your browser.

Free · no signup · your files stay in your browser

Loading the 3D viewer...

How it works

  1. 1

    Drop your maps

    Drag every map of one material onto the viewer, or a ZIP of them. A built-in brick sample is shown until you do.

  2. 2

    Check the slots

    Each file is placed by its name (_diff, _nor_gl, _Roughness, _arm, _disp...). Change any slot from its menu, and switch the normal map between OpenGL and DirectX.

  3. 3

    Inspect the material

    Turn it on a sphere, cube, rounded box, cylinder or plane. Set tiling, run the 2x2 or 3x3 seam check, change the environment, light angle, displacement and exposure.

  4. 4

    Read the checks and export

    Fix what the checks flag, then save a PNG render, a packed ORM texture or a GLB with the material applied.

Supported maps

Case does not matter. Words like 2K, 4096, LOD0 and the file type are skipped.

MapFile names it recognisesWhat the viewer does
Base colorbasecolor, albedo, diffuse, diff, color, col, _d, _bcColour of the surface (sRGB).
Normalnormal, nor, nrm, norm, nor_gl, nor_dx, NormalGL, NormalDX, _nSurface detail. DirectX maps get the green channel flipped.
Roughnessroughness, rough, rgh, _rWhite is rough, black is glossy.
Metallicmetallic, metalness, metal, met, _mWhite is metal. Should be pure black or white.
Ambient occlusionao, ambientocclusion, occlusion, occ, mixed_aoBaked contact shadows.
Packed ORM / ARMorm, arm, OcclusionRoughnessMetallicR = AO, G = roughness, B = metallic.
Heightheight, displacement, disp, bumpMoves the surface (displacement slider).
Emissiveemissive, emission, emit, glow, _eGlow colour.
Opacityopacity, alpha, transparencyCut-outs and see-through parts.
Glossgloss, glossiness, smoothnessInverted to roughness when there is no roughness map.
Specularspecular, specListed only: spec/gloss data is not part of metal/rough.

No maps yet? Generate them

Put it on your model

Happy with the look? Upload your GLB, OBJ, FBX or STL, describe the material, and AI paints the whole model from every side on its own UVs. Then make normal, roughness, metal and AO maps for it.

Texture my 3D model with AI

Frequently Asked Questions

It shows a set of PBR texture maps (base color, normal, roughness, metallic, ambient occlusion, height) together as one material on a 3D shape under realistic light, so you can judge the material before you put it in Blender, Unreal, Unity or a game.
No. Files are read, decoded and rendered in your browser with WebGL. Nothing is sent to a server, so you can preview paid or unreleased textures safely.
From the file name. The last word that names a map wins, so red_brick_nor_gl_4k.jpg is a normal map and Bricks076C_1K-JPG_Roughness.jpg is roughness. Resolution and LOD words like 2K or LOD0 are skipped. Files it cannot place stay as Not used, and you can set any slot by hand.
Switch the normal map to DirectX. DirectX normal maps (used by Unreal and marked NormalDX or nor_dx) store green the other way round from OpenGL maps (Blender, Unity, glTF). The viewer flips green for DirectX maps. Names with dx or gl set this for you.
One texture that packs three grey maps: red is ambient occlusion, green is roughness and blue is metallic. glTF and Unreal use this layout. Drop an ORM or ARM map and the viewer reads all three; separate AO, roughness or metallic maps override their channel. You can also export the packed ORM PNG.
Partly. A gloss map is inverted into roughness. A specular map is listed but not applied, because the viewer renders the metal/rough workflow and specular colour has no direct match there.
Raise the tiling slider to repeat the material on the shape, or press Seam check 2x2 or 3x3 to see the map repeated flat, where visible lines at the tile edges show a seam.
Yes. Pick Load your own .hdr / .exr in the environment menu. It lights the material and can be shown as the background. A studio room and three procedural skies are built in.
The current shape with the material on it: base color, normal, packed occlusion-roughness-metallic and emissive maps, with the tiling kept. Height is not part of glTF, so displacement is not exported.

Poly Haven, ambientCG, Megascans, Substance, Blender, Unity and Unreal Engine are named only to describe file-name and engine compatibility. The3DAI is not affiliated with or endorsed by them.