🗺️ Normal Map Generator

Convert a texture or grayscale height map into a tangent-space normal map — adjust strength and blur, flip Y for DirectX-style engines, download PNG. Runs in your browser, nothing uploaded. Free, no account needed.

📂 Click to choose a texture or height map (PNG/JPG/WebP), or drag & drop it here
No image loaded yet.
Source
Normal map

About this tool

Turn any texture or height map into a tangent-space normal map for lighting in Unity, Godot, Unreal, Blender or a custom shader. Adjust strength, blur and invert the Y axis to match your engine's convention (OpenGL vs DirectX), and download the result as PNG.

The generator runs a Sobel-filter height-to-normal conversion on a canvas in your browser — nothing is uploaded, and it works with stone, wood, fabric, metal or hand-painted textures of any size.

How to use it

  1. Drop a texture or grayscale height map.
  2. Set strength (bump depth) and optional blur (smoothness).
  3. Flip Y if your engine expects DirectX-style normals.
  4. Download the normal map PNG.

Frequently asked questions

OpenGL or DirectX normal maps?

They differ only in the direction of the green (Y) channel. Unity, Godot and Blender use OpenGL style (Y up); Unreal uses DirectX style (Y down). Use the "Flip Y" toggle if lighting looks inverted.

Should I start from a photo or a height map?

A grayscale height map gives the most predictable result. Photos also work — the tool uses luminance as height — but shadows in the photo will be interpreted as depth.

Is the texture uploaded?

No. The conversion runs entirely in your browser.

Free, private, no account. Like every DevForge tool, this one runs in your browser and never uploads your files. See all 35 free tools or join the DevForge community to share your own games, tools and assets.