Convert equirectangular panorama to 6 cubemap faces, online, in your browser. No signup. No upload.
Drop or click to upload a panorama
JPG, PNG, or WebP — up to 50 MB
Your panorama never leaves your device. All conversion runs locally in your browser using Canvas — no upload, no server, no account.
Pick the naming convention for your engine: Unity (px/nx/py/ny/pz/nz), Unreal Engine (right/left/top/bottom/front/back), OpenGL (pos_x/neg_x/…), or Three.js.
Unlike Photoshop scripts or paid tools, this is a free, no-account utility. Made by Panorama Generator to support the panorama-to-game-engine workflow.
Grab all 6 faces as a single ZIP, or download faces individually if you only need certain sides.
Convert to 512×512, 1024×1024, or 2048×2048 cube faces. Pick smaller for mobile or older GPUs; larger when your source resolution is high enough to fill it.
Upload your panorama and drag to inspect the full sphere before converting. Catch composition issues and seam problems early — without ever leaving the page.
Drop or pick a 2:1 equirectangular panorama (JPG/PNG/WebP). Your file stays on your device.
Confirm you uploaded the right scene using the embedded 360° viewer.
Pick face size (512/1024/2048) and naming convention. Click Convert. Browser does the math in 2-3 seconds.
Get all 6 faces named for your engine, ready to drag into a Unity Cubemap, Unreal Cube Render Target, or Three.js CubeTextureLoader.
Cubemaps are the native format for legacy Unity built-in pipeline skyboxes, Unreal sky sphere shaders, mobile GPUs without high-precision panoramic sampling, and Three.js CubeTextureLoader. If your engine accepts equirectangular directly (URP/HDRP, UE5 HDRIBackdrop, modern WebGL), you may not need to convert. For the full decision tree, see Skybox Formats Explained.
Assets → Create → Legacy → Cubemap. Drag the 6 face PNGs into the Cubemap inspector. Assign to a Skybox/6 Sided material.
Drag all 6 PNGs into Content Browser as a Texture Cube. Use in a Cube Render Target or environment material.
const loader = new THREE.CubeTextureLoader(); const texture = loader.load(['px.png','nx.png','py.png','ny.png','pz.png','nz.png']); scene.background = texture;
Generate one in 30 seconds with our AI Skybox Generator. Prompt-driven, 2:1 equirectangular, ready to pipe straight into this converter.
No. Conversion runs 100% in your browser using Canvas. We never see your file.
Equirectangular is one image (2:1 ratio, like a world map). Cubemap is the same scene unfolded into 6 square faces of an imaginary box around the viewer. Modern engines often accept equirectangular directly, but legacy pipelines and mobile GPUs still want cubemaps. Read more in our Skybox Formats guide.
Pick the one that matches your target engine. Unity and Three.js want px/nx/py/ny/pz/nz. Unreal Engine wants right/left/top/bottom/front/back. OpenGL tutorials usually use pos_x/neg_x style names. Re-export with a different convention any time — no re-upload needed.
1024 px is a safe default for desktop and modern mobile VR. Use 512 for older mobile GPUs or to save memory. Use 2048 only when you have a very high-resolution source (e.g., 8192×4096) and the engine target supports it. Output face size cannot exceed the source's vertical resolution.
Not yet. JPG/PNG/WebP only for now. If you need HDR support for IBL lighting, let us know — generate from AI HDRI Generator or convert externally with Blender.
Not yet — this tool is one-way (panorama → cubemap). Reverse conversion is on the roadmap if there's demand.
If the source panorama doesn't wrap seamlessly (left edge ≠ right edge), the cubemap will show that same discontinuity at face boundaries. AI-generated panoramas from Skybox Generator are wrap-corrected; camera-captured panoramas typically wrap correctly; stitched panoramas may not.