Extract Roughness, Metallic, Height, AO, and Normal maps from a single texture image. Adjust each map independently for perfect PBR materials. All processing happens locally in your browser with zero uploads.
Click and drag to rotate — Scroll to zoom
Drag and drop any image file, PNG, JPEG, WebP, BMP, TIFF, or AVIF. The tool loads your texture for analysis. Nothing is uploaded to a server.
Adjust roughness contrast, metallic threshold, height strength, AO intensity, and normal strength. Watch all generated maps update live in the preview grid.
Inspect your PBR material on a 3D sphere with adjustable lighting. Download all maps in your preferred format. PNG, JPEG, WebP are instant. TIFF, BMP, AVIF, and EXR via server.
Each PBR map is generated using a dedicated algorithm that analyses your texture color image. Here's how each one works.
Converts each pixel's brightness to a roughness value. Darker areas become rougher surfaces, brighter areas become smoother. Use the contrast and brightness sliders to fine-tune the range.
Analyses color saturation versus luminosity. Highly saturated, darker pixels are classified as metallic. Desaturated and bright areas remain dielectric. The threshold slider controls sensitivity.
Applies a Sobel-like gradient filter across neighboring pixels to detect edges and surface detail. Converts luminance differences into tangent-space normal vectors. Toggle DirectX Y-inversion for Unity/Unreal compatibility.
Samples nearby pixel luminance within a 5-pixel radius. Areas surrounded by darker neighbors get darker AO values, simulating crevice shadowing. The strength slider controls the overall intensity.
Derived from luminance with separate strength and contrast controls. Bright areas map to elevated surfaces, dark areas to depressions. Useful for displacement and parallax occlusion mapping.
All generated maps are composited onto a Three.js mesh in real-time. Rotate, zoom, and adjust lighting to verify your material before downloading.
Follow this quick workflow to turn any photo or texture into a complete PBR material set.
Upload a high-resolution photo or texture. Best results come from well-lit, evenly exposed images. Avoid extreme shadows or overexposed areas the algorithm works with luminance values, so balanced exposure helps accuracy.
Start with roughness. Push contrast to 1.5–2.0 to separate rough and smooth areas. Add a slight negative brightness (−0.1 to −0.2) if the overall surface looks too glossy. Check the 3D preview to judge the result.
For mostly non-metallic surfaces, keep the metallic threshold high (60–80) so only the most saturated spots get marked. For metallic surfaces like gold or copper, lower it to 30–40 to capture the full material area.
Set normal strength to 5–10 for subtle detail, or 12–18 for exaggerated surface relief. Increase height contrast for clearer displacement. If using DirectX (Unreal Engine), enable Invert Y on the normal map.
Use the Download All Maps button to export every generated map at full resolution. Choose PNG for instant download, or TIFF/EXR for high-bit-depth workflows. Each map can also be downloaded individually from its preview card.
The Texture to PBR Generator is one step in a complete material authoring workflow. Combine it with these free tools.