Normal Map Bench is a free, browser-based normal map generator built for game developers, 3D artists, and anyone working with textures. It turns a height texture — a grayscale image where bright areas read as higher and dark areas as lower — into a clean tangent-space normal map, entirely on your device.
The problem it solves. A normal map stores a direction in every pixel instead of a visible color. Your material shader uses those directions to react to light as if small ridges, dents, seams, and pores were modeled into the mesh. Without a normal map, flat surfaces look flat; with one, a simple plane can read as stone, fabric, or brushed metal. Normal Map Bench generates those maps from image brightness, so any photo or painted texture can become a relief surface your renderer understands.
How it works. The tool keeps the full conversion pipeline on your device. Your source image never leaves the browser — there is no upload queue, no server-side processing, and no account. That makes it safe to use with private or unreleased texture work.
The workflow has three stages. First, pick your height input. A dedicated grayscale height map gives the most predictable result, but a photo or a painted texture works whenever its brightness already describes surface relief. A smoothing control suppresses photographic noise before you increase strength, so the generated map stays clean instead of speckled.
Second, choose a gradient filter. Sobel is the familiar, efficient choice and is often right for graphic textures. Scharr places more balanced weight around each pixel, which can produce steadier diagonal detail. Neither filter invents geometry — both measure changes in your source height field and encode the resulting surface direction, which is exactly what you want from a conversion tool.
Third, set the orientation and inspect the result. OpenGL and DirectX formats mainly disagree on how the green channel is encoded, and switching between them is one click. A movable light lets you drag a light source across the map and watch the relief react in real time, so you can judge whether the map reads correctly before you export. When it looks right, export a PNG your renderer can read.
Who it is for. Game developers who need a quick normal map for a prototype material, 3D artists preparing texture sets, and hobbyists learning how normal maps work. Because everything runs locally, it also fits studios and freelancers who cannot send client assets to a third-party service.
Why people choose it. It is free, requires no account, and produces a usable map in seconds. There is no queue, no credit system, and no lock-in — open the page, load an image, and export. The combination of Sobel and Scharr filters, OpenGL and DirectX output, live light preview, and complete on-device privacy makes Normal Map Bench a practical first stop for normal map generation.
Try it at https://normalmapbench.com/ — everything above runs the moment the page loads, with nothing to install.