Normal Map Generator
Generate normal maps from any texture image for 3D rendering, game assets, and PBR workflows. The Sobel filter extracts surface gradients and maps them to RGB normals.
๐ Your image is processed entirely in your browser. Nothing is uploaded to any server.
1. Upload Image
2. Adjust & Preview
Controls how pronounced the surface detail appears. Higher values exaggerate depth; lower values produce subtler normals.
Normal Map Preview
How It Works
The Normal Map Generator converts your texture to a grayscale heightmap, then applies a Sobel filter to compute horizontal and vertical gradients at each pixel. These gradients are combined into a 3D normal vector and mapped to the standard tangent-space RGB encoding where R = X, G = Y, and B = Z. The result can be used directly in game engines like Unity, Unreal Engine, Godot, or any PBR rendering pipeline.
Edge pixels wrap around to the opposite side, so the generated normal map tiles seamlessly if your source texture also tiles. Increase the strength for highly detailed surfaces like brick or stone, and use lower values for smoother materials like fabric or paper.