Free means the full local workflow.
This page does not hide export, resolution, orientation, or preview controls behind signup. The generator is a static browser application: it loads code, processes your selected image in memory, and creates the PNG on the same device. There is no credit balance to exhaust and no watermark applied to output.
No crippled export mode
PNG download uses the generated working dimensions shown in the interface. The tiled preview is only an inspection aid, so exporting still produces one clean normal map rather than a baked preview grid.
No asset leaves the browser
The selected file is decoded locally. No upload service, remote model, or user gallery receives the texture. Closing or reloading the tab clears the in-memory working state.
Choose the target convention
Export either OpenGL Y+ or DirectX Y− tangent-space normals. The switch flips the green direction while keeping the rest of the processing path visible and predictable.
One explicit performance cap
For responsive local processing, very large sources are reduced to a 1200-pixel working edge. The interface reports the exact working dimensions so the limitation is visible before download.
- Add a sourceChoose a PNG, JPG, or WebP, drag it into the input panel, or begin with a built-in sample.
- Tune reliefAdjust strength, smoothing, filter, orientation, height inversion, and edge behavior.
- Inspect lightingCompare source and normal views, then move the material light with a pointer or the X/Y sliders.
- Export PNGDownload the full generated normal map. Nothing is sent to a server during conversion.
Free normal map generator FAQ
Is the normal map download really free?
Yes. The service has no payment, account, credits, watermark, or export lock. You can generate and download PNG output from the available controls.
Should white be high or low in the source?
By default, white is treated as high and black as low. Enable Invert height when your source uses the opposite convention or when the result looks embossed instead of engraved.
Which normal map format should I use?
Use the format your target engine requests. Blender and many OpenGL workflows typically use Y+, while several DirectX pipelines use Y−. If uncertain, import a small test and confirm the green-channel direction under a known light.
Can I use a color photo?
Yes. The tool converts RGB brightness into a height field. However, color changes caused by paint or lighting may become false bumps. A cleaned grayscale height image usually creates a more controlled material.
Why is the preview limited to a 1200-pixel edge?
Large images are resized for predictable interactive performance on phones and ordinary laptops. This is an explicit working limit, not an upload limit, because processing stays local. The output keeps the working dimensions shown in the interface.