Night Sky: Procedural Skyboxes in Your Browser
Night Sky generates high-resolution (2k-16k) nebula, night and day skyboxes entirely in your browser. No license, your skyboxes are your own. My upcoming hobby 4X is source-available, so I need as many assets as possible that I can make freely available for redistribution.
Performance
The rendering pipeline is written in Rust and compiled to WebAssembly. The browser divides the image into horizontal tiles and distributes them across multiple Web Workers, so rendering happens in parallel without freezing the UI. On browsers that support it, a SIMD-optimized build runs automatically for a bit of extra speed. We use fp16 end-to-end to get a 16k HDR to fit under the typical 2GB limit for a browser WASM sandbox.
At first the implementation was purely TypeScript, but doing the raymarched nebulas at 16k and 32k with pure TypeScript was absurdly slow. Plus, this way we can wrap the Rust module and make it available for other things.
Export Formats
- Equirectangular PNG - Standard 2:1 panorama, works directly in most game engines and 3D software.
- Cubemap ZIP - Six square faces for engines that prefer cube maps.
- Radiance HDR - Full dynamic range for professional lighting. Stars can blow out past 1.0, giving proper bloom when used in a PBR renderer.
Try It
The tool is live at tkte.ch/night-sky. Hit randomize, find a seed you like, and export at whatever resolution you need.



