PixelChartAll tools

Normal Map Generator

Turn any texture or photo into a normal map, right in your browser. Tune the strength, watch a light sweep across the surface in real time, and download the normal, height and ambient occlusion maps together — free, nothing uploaded.

Drop a texture or photo here, paste it, or

Your images never leave your browser — everything runs locally.

Y direction

How it works

  1. Drop a texture or photo onto the tool — brick, stone, fabric and wood work especially well.
  2. Raise the strength until the surface has the depth you want; the lit preview updates as you go.
  3. Add smoothing if the source is noisy — it stops grain from turning into fake bumps.
  4. Pick OpenGL or DirectX for the green channel to match your engine.
  5. Download the normal map on its own, or all three maps — normal, height and ambient occlusion — in one ZIP.

Frequently asked questions

How do I make a normal map from an image?

Drop your image onto the tool. It reads the brightness of every pixel as height, then measures how steeply that height changes to work out which way the surface faces. Adjust the strength slider until the lit preview looks right and download the PNG.

What do OpenGL and DirectX mean here?

They disagree on which way the green channel points. Unity, Godot and Blender expect OpenGL; Unreal and most DirectX games expect the green channel flipped. If your surface looks inverted in-engine — bumps reading as dents — switch this setting and re-export.

Why is my normal map mostly purple-blue?

That colour is a flat surface: it is the vector pointing straight out of the texture, encoded as red 128, green 128, blue 255. Anywhere the map drifts from that shade is a slope, so a mostly flat texture is supposed to look mostly purple.

What is the difference between a normal map and a bump or height map?

A height map — also called a bump map — stores one grey value per pixel: how high that point sits. A normal map stores a full direction per pixel, which is why it fakes lighting far more convincingly. This tool gives you both, from the same image.

What is the ambient occlusion map for?

It marks the crevices that stay in shadow even in open light — mortar lines between bricks, gaps between planks. Multiplying it into your material adds contact shadows that lighting alone will not produce.

Is my image uploaded anywhere?

No. Every map is generated in your browser and nothing is sent to a server. Working with pixel art instead? Try our Image to Pixel Art Converter.

All tools