Normal Map Converter
Convert tangent-space normal maps between OpenGL and DirectX conventions directly in your browser.
PNG, JPG & WebP · Local processing · Free
Open Normal Map ConverterSee how your PBR textures respond to light.
Load a material set, orbit the surface and compare reflections, normal detail and tiling on a sphere, cube or plane. Your texture files stay in your browser.
Preparing PBR preview…
Preview lighting is a reference, not an exact match for every engine. Texture scale and the object's UV layout affect the result.
Add any subset of the five maps.
These files were not assigned automatically. Choose a slot; assigning replaces its current map.
This interactive preview combines your maps in a metallic/roughness material under studio HDR lighting. Use it to check whether the maps align, surface detail faces the expected direction and the texture repeats at a useful scale. Start with a neutral sphere, then load individual files or drop several maps together and check their suggested slots.
Choose a surface from the 3DSkillUp PBR material catalog, download its maps from the product's marketplace listing and load the supported files here. The previewer does not download product files automatically. For a repeatable comparison in your production scene, follow the Blender PBR material test scene guide.
Use maps from the same material set with matching UV layouts. Base Color supplies surface color; the other maps describe material data. The Blender PBR texture setup guide explains how these roles translate to a shader.
| Map | What to inspect |
|---|---|
| Base Color | Surface color without baked lighting, interpreted as sRGB. |
| Normal | Tangent-space surface direction, interpreted as data. Choose the matching OpenGL or DirectX convention. |
| Roughness | Reflection spread: dark values produce sharper reflections and light values produce broader reflections. |
| Metallic | Metal versus non-metal response: black is non-metallic and white is metallic. |
| Ambient Occlusion | Occlusion of indirect light in creases and recesses. It does not create geometric shadows. |
Roughness, Metallic and AO use the source's red channel as a scalar value. Load separate grayscale maps; packed ORM or Unity mask textures are not unpacked automatically. Use the PBR Channel Packer when preparing channel layouts for an engine. Height, displacement, opacity and specular-workflow maps are outside this preview's supported material model.
Roughness and Metallic controls multiply their maps when a map is present. Loading the first map sets its multiplier to 1 so its full range is visible. Without those maps, the controls set constant values. Increasing roughness above 1 emphasizes its variation, while the rendered result remains within the material's valid range.
A sphere reveals changing reflections across a curved surface. A cube makes face boundaries and scale easier to compare. A plane gives a direct view of the repeating pattern; increase tiling to inspect adjacent repeats. Tiling repeats the texture and does not repair visible seams in its source pixels.
The supplied HDR environment lights the material even while the background is a neutral solid color. Show the HDR background when you want to relate reflections to their surroundings, or keep a plain background to concentrate on the surface. Exposure changes the displayed brightness of the whole preview; it does not edit your texture files. If the HDR cannot load, the viewer uses neutral fallback lights.
This is a practical inspection view, not an exact match for every renderer. Tone mapping, lighting, UVs, tangents, engine import settings and shader models can change the final appearance. Verify your material in its destination scene before delivery; the PBR workflow guide helps connect these steps.
The two conventions use opposite signs for the tangent-space Y direction encoded in green. Select the convention of your map if grooves look raised or lighting appears reversed. The toggle changes the preview's interpretation without rewriting the source file. Normal strength adjusts the visible influence of the map.
Use the Normal Map Converter when you need to save a converted file. If a convention change does not resolve the shading, work through the normal-map troubleshooting guide to separate map issues from geometry and tangent problems.
PNG, JPEG and static WebP images are decoded in your browser. A 16-bit PNG is accepted and reduced to 8-bit samples for this preview; keep the original for workflows that need its precision. Lossless PNG is a useful choice for data maps. The browser preview is not a color-proofing or texture-export tool.
4K maps are supported where the browser's memory and WebGL limits allow them. Large inputs may be reduced for display, with the effective preview dimensions shown in the tool. Several high-resolution maps use substantially more memory than their compressed file sizes suggest. Use the Texture Memory Calculator to compare resolution and storage choices, and choose the smallest preview that shows the detail you need.
Your selected files are processed in this tab and are not uploaded or stored by the tool. The page downloads its own application code and studio HDR asset; those requests do not include your textures. Normal website requests and server-side visit analytics are separate from local texture processing. Remove a map or reset the material when you finish.
You can start with any supported map. A common set includes Base Color, Normal and Roughness, with Metallic for mixed or metallic surfaces and AO where useful. Missing maps use the material controls' constant defaults; a non-metallic surface usually keeps Metallic at 0.
No. File reading, decoding and rendering happen locally in your browser. The tool has no texture upload endpoint or saved-file account.
Yes. Select DirectX to invert the normal map's Y interpretation in the preview. OpenGL is the default. This changes rendering only and leaves the original file unchanged.
Yes. Select Plane and increase tiling to inspect repeated edges. This can expose seams, but it does not make a non-seamless source seamless or verify every production UV layout.
A metallic surface depends strongly on the light and environment it reflects. Keep HDR lighting enabled and inspect roughness, exposure and base color before changing the texture. A black or dim environment can make polished metal look unexpectedly dark.
Yes, subject to your device's limits. The viewer can reduce large maps for a responsive preview and shows the loaded resolution. A lower preview resolution leaves the original file intact.
Use a sphere for reflections across curved surfaces, a cube for face transitions and a plane for flat detail and repeated patterns. Compare more than one shape when evaluating a reusable material.