Skip to content
Normalforge

Normal maps and PBR textures in your browser

Normal map tools

Everything for tangent-space normal maps in one place: make one from a photo, a texture or a 16-bit height map, switch it between DirectX and OpenGL by flipping the green channel, blend a detail map onto a base with reoriented normal mapping, check every pixel for broken vectors, light it in 3D, or give a 2D sprite a normal map for dynamic lights. Every tool reads 8 and 16-bit PNG, TGA and EXR (EXR values clipped to 0 to 1), and every result can be checked on a lit 3D shape before you download it.

Tools in this group

Combine Normal MapsBlend a detail normal map onto a base normal map and compare the five blend formulas on your own maps.
Height Map to Normal MapConvert a grey height map from Blender, Substance or a terrain tool into a normal map without losing 16-bit precision.
Image to Normal MapTurn a photo or texture into a normal map. Uneven lighting is taken out first, so a shadow on one side does not tilt the whole surface.
Normal Map CheckerCheck a normal map for vectors that are not unit length, pixels that point into the surface, and a likely green-channel mix-up.
Normal Map Converter: DirectX ↔ OpenGLFlip the green channel of a normal map to go from DirectX to OpenGL or back, and see which convention your map most likely uses.
Normal Map GeneratorDrop a texture or height map and get a normal map with a live 3D preview, in OpenGL or DirectX, as 8 or 16-bit PNG or TGA.
Normal Map ViewerOpen a normal map and see it lit in 3D. Move the light to check that bumps rise and grooves sink.
Sprite Normal Map GeneratorMake a normal map for a 2D sprite so it reacts to lights in your engine. Edges are bevelled from the transparency and the alpha is kept.