Skybox generator
Convert a 360 equirectangular image into six cubemap faces for skyboxes in 3D engines.
This tool turns a 360 panoramic image into the six square images required by a cubemap: right, left, top, bottom, front, and back. Everything runs in your browser without uploading the image to external servers.
It is useful when you need to quickly prepare backgrounds for WebGL scenes, 3D engine prototypes, rendering tutorials, or visual tests without opening heavier software.
Use cases
- Prepare skyboxes for Three.js, Babylon.js, Unity, Godot, or custom engines.
- Convert a downloaded or generated equirectangular texture into a cubemap face set.
- Quickly check a panorama orientation before integrating it into a scene.
Equirectangular to cubemap converter
Load a local 360 image and generate six square faces ready to download.
Accepts JPG or PNG. For best results use a 2:1 equirectangular image.
Large resolutions take longer and use more memory.
How to use it
- 1 Load a local JPG or PNG image. The ideal ratio is 2:1, for example 4096 x 2048.
- 2 Choose the square output resolution. Use 512 or 1024 for quick tests and 2048 for more detailed results.
- 3 Generate the cubemap faces and download each resulting image with consistent names.
Technical details
- The conversion uses Canvas and equirectangular-to-cubemap sampling. It does not use remote URLs, avoiding CORS and canvas tainting issues.
- The tool does not use SharedArrayBuffer, COOP, COEP, or threaded WebAssembly, keeping compatibility with AdSense and the current site configuration.
- Faces are exported as PNG to preserve quality during testing and integrations.
- Left and right orientation is adjusted to match Unity cubemap slots.
FAQ
Is my image uploaded to a server?
No. The image is read from your device and processed locally in the browser.
What ratio should the input image use?
A 2:1 equirectangular image is recommended. If you use another ratio, the tool will still try to convert it, but the result may look distorted.
Why does it not accept external URLs?
Remote URLs can block canvas export when the external server does not allow CORS. The local-file flow is more private, stable, and compatible with the project's serverless philosophy.