Pack up to four grayscale texture maps into the R, G, B, and A channels of a single image. Reduce GPU texture samples in Unity HDRP, Unreal Engine, and custom PBR shaders. Live preview, instant client-side processing, no uploads required.
Common packing presets:
Each input writes its grayscale value to its assigned channel. Missing channels default to black (R=0, G=0, B=0, A=255). All inputs are stretched to match the largest resolution.
Drag grayscale maps into each channel slot: R, G, and B. Supports all common image formats up to 8K resolution.
See each channel individually and the final packed RGB output update in real time as you add or swap maps.
Export your packed RGB texture. PNG, JPEG, and WebP are instant. TIFF, BMP, AVIF, and EXR available via server-side export.
Channel packing is a standard optimization in game development and real-time rendering. Here is where packed textures make the biggest impact.
Sample one texture in your shader, extract R/G/B channels. Three maps for the cost of one GPU texture lookup, saving memory bandwidth.
Unity HDRP and Unreal Engine expect packed masks: R = Metallic, G = Occlusion, B = Detail Mask (or R = AO, G = Roughness, B = Metallic). Pack to match your pipeline.
Three grayscale PNGs become one RGB PNG. Fewer files on disk, faster streaming, smaller downloads for WebGL and mobile games.
Pack any three grayscale masks: detail maps, height, wear, emissive strength, subsurface, or custom shader data into one compact texture.
All packing is done locally in your browser. Your texture maps are never uploaded anywhere, complete privacy guaranteed.
Output textures work directly in Unity (Built-in, URP, HDRP), Unreal Engine 4/5, Godot, Blender Eevee/Cycles, and any custom PBR shader.
Combine the channel mixer with our other free texture tools for a complete material authoring workflow.