Guide
How to Use a Free Normal Map Generator (Step by Step)
A normal map stores surface direction so flat photos catch light in 3D. This guide walks through NormalMapAI’s free generator — from upload to engine ZIP — without installing software.
Steps
- Open the free generator on the homepage and upload a JPG, PNG or WebP, or pick a sample material.
- In the Normal controls, set strength and choose OpenGL or DirectX to match your engine.
- Check the live 3D preview (shader ball, cube or plane). Flip Invert height if bumps look like dents.
- Optional: open Seamless Texture first if edges do not tile, then send the result back to the generator.
- Pick an engine preset and resolution, then download the ZIP (normal map included).
What a normal map is
A normal map is an RGB texture that stores which way each pixel of a surface faces. Red and green encode X/Y tilt; blue encodes facing toward the camera. Engines use that data to fake small bumps without extra polygons.
You do not need a laser scan. A well-lit photo of wood, stone, fabric or metal is enough for a usable map when you generate it in the browser.
Strength, detail and format
Strength controls how steep the bumps look. Start around mid-range; too high makes plastic “orange peel”. Detail adds finer high-frequency normals on top of the main height field.
OpenGL stores +Y in green; DirectX stores −Y. Unreal expects DirectX; Unity, Godot and Blender expect OpenGL. Wrong format inverts lighting. Engine export presets set this for you.
Export tips
Import the normal map as non-color / linear data (sRGB off). Pair it with albedo, roughness and AO from the same ZIP so lighting stays consistent.
For game assets, 2048×2048 is the usual sweet spot; use 4096 for hero surfaces. Mobile often ships 1024 or 512.
FAQ
Is the normal map generator free?
Yes. NormalMapAI runs in your browser with no sign-up and no usage limits.
Do I upload my photo to a server?
No. Decoding and map generation stay on your device.
Why does my normal map look inverted?
Toggle Invert height, or switch OpenGL / DirectX. Side lighting makes the wrong Y orientation obvious.