Texture tools

Normal map generator

Turn image brightness into surface detail. Choose a PNG or JPEG, adjust the relief, and download a normal map. The image is processed in your browser, with no account or credits needed.

Source image

Processing…

Normal map

Processing…

Processing…

PNG or JPEG · Up to 10 MiB and 2048 × 2048 pixels · Opaque PNG output

From image to normal map

  1. Choose a still PNG or JPEG up to 10 MiB and 2048 × 2048 pixels, or try the sample.
  2. Set the strength. Brighter pixels act as higher areas; Invert height reverses that assumption.
  3. Choose the Y direction your material expects, then download the PNG and import it as a normal map in your engine.

OpenGL or DirectX?

These options use opposite green-channel directions. OpenGL uses +Y; DirectX uses −Y. Use your engine or material importer’s normal-map setting. Godot’s normal-map reference describes its OpenGL convention. Do not flip Y again on import if you already selected the right direction here.

What this map can do

This tool treats brightness as approximate height. It does not recover geometry or distinguish painted color from shadows. A clean height image gives a more predictable result than a photograph. The normal map changes how a material reacts to light; it does not change its silhouette.

Edges are clamped, so the output is not made seamless. Transparent areas become flat normals, and the downloaded PNG is opaque. PNG metadata is removed before processing, so a color profile may change the preview. Your chosen image is not uploaded, and the result is not automatically added to Studio. Download it before leaving the page.

Use it with your material

Keep your original image for the material’s color. Add the downloaded PNG to its normal input and use a normal-map or non-color import setting. Start with a modest strength and inspect the lighting on your model. Studio can help you create a new texture; it has its own generation and credit flow.