Image to PBR Generator

Image to PBR Generator

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.

Upload Image

Drag & drop your texture here or browse
Supports PNG, JPG, WebP, BMP, TIFF, AVIF

Generated Maps

texture

Roughness

Metallic

Height

AO

Normal

3D Preview

Click and drag to rotate — Scroll to zoom

Preview Settings

Sphere
Sphere
Rounded Cube
Plane
#ffffff
#1a1a1a

How It Works

1

Upload texture

Drag and drop any image file: PNG, JPEG, WebP, BMP, TIFF, or AVIF. The tool loads your texture map for analysis. Nothing is uploaded to a server.

2

Tune Each Map

Adjust roughness contrast, metallic threshold, height strength, AO intensity, and normal strength. Watch all generated maps update live in the preview grid.

3

Preview & Download

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.

Algorithm Breakdown

Each PBR map is generated using a dedicated algorithm that analyses your texture image. Here's how each one works.

Luminance to Roughness

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.

Saturation to Metallic

Analyses color saturation versus luminosity. Highly saturated, darker pixels are classified as metallic. Desaturated and bright areas remain dielectric. The threshold slider controls sensitivity.

Sobel Edge Detection for Normal

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.

Ambient Occlusion

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.

Height Map

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.

Real-time 3D Preview

All generated maps are composited onto a Three.js mesh in real-time. Rotate, zoom, and adjust lighting to verify your material before downloading.

Tutorial: Creating a PBR Material from a Photo

Follow this quick workflow to turn any photo or texture texture into a complete PBR material set.

1

Choose Your Source Image

Upload a high-resolution photo or texture 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.

2

Dial in the Roughness

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.

3

Set Metallic Threshold

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.

4

Fine-tune Normal & Height

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.

5

Export All Maps

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.

Related Texture Tools

The Image to PBR Generator is one step in a complete material authoring workflow. Combine it with these free tools.

Normal from Height
Convert height maps into normal maps with full control over strength and filtering.
Seamless Texture Maker
Make any image tileable with edge-blending algorithms and live preview.
Texture Channel Mixer
Pack roughness, metallic, and AO into a single ORM RGB texture for performance.
Color Correction
Adjust brightness, contrast, saturation, and hue on your generated maps.
Noise Generator
Procedural Perlin, Voronoi, and Worley textures for roughness and displacement.
Checker Pattern Generator
Custom UV checker textures to verify UV mapping before applying materials.

Frequently Asked Questions

PBR (Physically Based Rendering) materials use multiple texture maps to simulate how light interacts with surfaces in a physically accurate way. The main maps are texture (texture), Roughness, Metallic, Normal, Height, and Ambient Occlusion. Together they produce realistic surfaces in game engines and 3D renderers like Unity, Unreal Engine, Blender, and Substance Painter.
Yes! This tool uses smart algorithms to estimate Roughness, Metallic, Height, AO, and Normal maps from your texture image. Luminance analysis generates roughness and height, saturation analysis drives metallic detection, and Sobel-like edge detection produces the normal map. While not as precise as hand-painted maps, it provides an excellent starting point for quick material blocking and prototyping.
No. All PBR map generation happens entirely in your browser using JavaScript and the Canvas API. Your images never leave your computer, ensuring complete privacy and security. The only exception is server-side export formats (TIFF, BMP, AVIF, EXR), where the already-generated map is sent purely for format conversion and immediately discarded after the conversion completes.
Seven formats: PNG, JPEG, and WebP are instant client-side downloads with no login required. TIFF, BMP, AVIF, and EXR require a free account and are converted server-side, counting toward your daily limit (5/day free, unlimited on paid plans). Server-side formats provide higher bit-depth and industry-standard output for professional pipelines.
The maps are algorithmically estimated from a single texture image and work well for prototyping, quick material blocking, and base materials. For production-quality assets, use them as a starting point and refine manually in your 3D software or texture painting tool. Adjust the per-map sliders to fine-tune results for your specific texture small tweaks can make a big difference.
Download the individual maps and import them into your 3D software or game engine. Connect each map to the corresponding input on your PBR material: texture to texture/Diffuse, Roughness to Roughness slot, Metallic to Metalness slot, Normal to Normal/Bump slot (set to DirectX or OpenGL based on the Invert Y toggle), Height to Displacement or Height slot, and AO to Ambient Occlusion slot.
Download the AO, Roughness, and Metallic maps individually, then head over to our Texture Channel Mixer tool to pack them into a single ORM (RGB) texture. This reduces texture memory by combining three grayscale maps into one RGB image a common optimization for real-time rendering and game engines.