BaseColor to AO Map Converter

BaseColor to AO Map

Generate ambient occlusion maps from base color images. Simulate crevice shadowing for realistic PBR materials. Adjustable strength with real-time 3D preview. All processing happens in your browser.

Drag & drop your base color here or browse
Supports PNG, JPG, WebP, BMP

Generated Maps

Base Color

AO Map

3D Preview

Click and drag to rotate • Scroll to zoom

Preview Settings

Sphere
Sphere
Rounded Cube
Plane
#ffffff
#1a1a1a

How It Works

1

Upload Base Color

Drag and drop any image file, PNG, JPEG, WebP, or BMP. The tool loads your albedo map for local luminance analysis. Nothing is uploaded to a server.

2

Tune AO Strength

Adjust the strength slider to control occlusion intensity. Low values (0.5–1.0) produce subtle shadowing for realistic materials. Higher values (1.5–3.0) create dramatic, stylized occlusion effects.

3

Preview & Download

Inspect the AO map on a 3D sphere with adjustable lighting. See how crevice shadowing adds depth. Download as PNG for Unity, Unreal Engine, Blender, or any PBR workflow.

Algorithm Breakdown

The AO map is generated using local luminance sampling around each pixel. Here's how the occlusion calculation works.

Local Luminance Sampling

The tool samples neighboring pixel luminance within a 5-pixel radius. Areas surrounded by darker neighbors receive darker AO values, simulating how light is blocked (occluded) in narrow spaces and crevices.

Grayscale Output

AO maps are strictly grayscale: white (255) = fully lit surfaces, black (0) = fully occluded crevices, with smooth gradients for transitional areas. The output is always a single-channel grayscale texture.

Performance Friendly

Baking AO into a texture is much cheaper than real-time ray tracing. It adds realistic depth and crevice shadowing with zero runtime cost, making it essential for real-time rendering in games and interactive 3D applications.

Real-time 3D Preview

The generated AO map is applied to a Three.js mesh alongside your base color. Rotate, zoom, and adjust lighting to verify the occlusion effect before downloading.

Tutorial: Creating an AO Map from a Photo

Follow this quick workflow to turn any photo or base color texture into a usable ambient occlusion map for PBR materials.

1

Choose Your Source Image

Upload a high-resolution photo or albedo texture. The AO algorithm works best on images with visible depth variation textured surfaces like brick walls, wood grain, fabric, or stone produce the most convincing occlusion maps. Flat, uniform color swatches will produce very subtle or no occlusion.

2

Set AO Strength

Start with the default strength of 1.5. For subtle, realistic occlusion that blends naturally into your material, reduce to 0.5–1.0. For dramatic, stylized shadowing. Useful for game assets with exaggerated depth push to 2.0–3.0. The 3D preview updates instantly so you can find the right balance.

3

Verify in 3D & Export

Check the 3D preview crevices and recessed areas should appear slightly darker, while raised, exposed surfaces remain bright. Rotate the mesh to verify occlusion from all angles. When satisfied, download the AO map as PNG. Combine it with roughness and metallic maps for a complete PBR material, or pack them into an ORM texture using the Texture Channel Mixer.

Related Texture Tools

The BaseColor to AO converter is one step in a complete PBR material workflow. Combine it with these free tools.

BaseColor to PBR
Generate all PBR maps (roughness, metallic, normal, height, AO) from a single image at once.
BaseColor to Roughness
Extract roughness maps from base color to pair with your AO map.
Texture Channel Mixer
Pack AO, roughness, and metallic into a single ORM RGB texture for performance.
Color Correction
Adjust brightness, contrast, saturation, and hue on your AO map.
BaseColor to Metallic
Generate metallic maps from base color for a complete PBR material set.
BaseColor to Normal Map
Generate normal maps from base color to add surface detail.

Frequently Asked Questions

An Ambient Occlusion (AO) map simulates soft shadows in crevices and corners where ambient light is blocked by surrounding geometry. It adds depth and realism to materials without expensive real-time ray tracing calculations. White areas represent fully lit surfaces, black areas represent fully occluded (shadowed) crevices, and midtones represent partial occlusion. AO maps are grayscale and are typically multiplied over the base color in a PBR shader for a realistic depth effect.
AO represents static, baked-in ambient shadows from surrounding geometry it doesn't change with light direction. Dynamic shadows respond to real-time light position and cast from objects. Think of AO as the shadows that exist even in ambient (indirect) light: the darkness under a table, inside wrinkles of fabric, or between floor boards. AO is typically pre-baked into a texture, while dynamic shadows are calculated at runtime by the renderer.
AO maps should have subtle, gradual contrast. Pure black (value ~0) should only appear in deep crevices where light genuinely cannot reach. Pure white (value 255) should be reserved for exposed, outward-facing surfaces. Use smooth gradients for transitional areas. Avoid harsh, binary transitions unless the geometry warrants sharp occlusion boundaries. The strength slider controls overall intensity start at 0.5 for realistic materials and increase only if needed.
No. All AO 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 local luminance sampling runs fully client-side no server processing is involved at any stage.
Download the AO map as PNG and import it into your 3D software or game engine. In Unreal Engine, plug it into the Ambient Occlusion pin and multiply it with the Base Color in the material graph. In Unity (HDRP/URP), connect to the Occlusion input. In Blender, connect to the Ambient Occlusion socket of the Principled BSDF shader. In Substance Painter, add to the Ambient Occlusion channel. Import the texture as linear (non-sRGB) for correct PBR behavior.
Yes! Download the AO, roughness, and metallic maps individually, then use our Texture Channel Mixer to pack them into a single ORM (RGB) texture. This is a common game engine optimization: AO goes into the Red channel, Roughness into Green, and Metallic into Blue. One RGB texture replaces three grayscale textures, saving memory and draw calls in real-time rendering.
Yes, this tool is 100% free with no limitations, watermarks, or sign-up requirements. All processing happens locally in your browser for maximum privacy and speed. Generate as many AO maps as you need with no daily limits.