Generate a normal map from an image
Turn a texture or heightmap into a tangent-space normal map for Unity, Unreal, Godot or Blender. Edges wrap, so tiling textures stay seamless.
Private
Files are processed on your device and never sent to a server.
Free, no account
No sign-up, no watermark, no daily limits.
Nothing to install
Works in Chrome, Edge, Firefox and Safari on desktop and mobile.
How it works
- 01
Drop an image (PNG, JPG or WebP).
- 02
Adjust strength and blur; pick OpenGL or DirectX.
- 03
Download the PNG normal map.
Questions
OpenGL or DirectX?+
Unity, Blender and Godot use OpenGL (Y+). Unreal Engine uses DirectX (Y−).
Should I use a color photo?+
It works, but a grayscale heightmap gives the cleanest result — bright means high.
Will it tile?+
Yes, the filter wraps around the edges, so a seamless texture gives a seamless normal map.
More 3D tools
Seamless Texture Maker
Make any texture tile without visible seams.
OpenImage to KTX2 Converter
Convert PNG and JPG textures to KTX2 (Basis Universal ETC1S or UASTC) with mipmaps.
Open3D Viewer
Open GLB, FBX, OBJ, STL and 20 more formats; LODs, variants, stats.
Open3D Model Converter
Convert FBX, OBJ, STL, GLB, DAE, 3MF, USDZ and more to GLB, glTF, OBJ, STL, PLY or USDZ.
OpenGLB / glTF Compressor
Shrink GLB files: Meshopt geometry, WebP or KTX2 (Basis) textures.
OpenPolygon Reducer
Reduce triangle count of any model while keeping its shape.
OpenLOD Generator
Generate LOD0–LOD4 from one model, named for Unity and Unreal.
OpenScale & Axis Fixer
Fix units, Z-up/Y-up and the pivot of a model before import.
OpenNeed game-ready trees, plants and rocks?
FoliMesh generates vegetation and rocks with LOD0–LOD3, collision and a pivot at the base — GLB, FBX or OBJ for any engine.