VoxelDesc is a voxel editor driven by a command line, for Java 6 and later, with 2.5D graphics and powerful scripting.

Typical voxel editors would have you place every single voxel by clicking with the mouse, which is slow, repetitive and error-prone. All the tedium of Minecraft with none of the fun! By contrast, VoxelDesc allows you to say things like scene.color(red).from(-2, -2, -2).fill(4, 4, 4). This is not for everyone. But in the right hands, it should enable the creation of sophisticated scenes. See the included manual for details.


VoxelDesc is open source under the Artistic License version 2. You can also get it from itch.io or get the source code on GitHub.


VoxelDesc was a proof-of-concept I made in autumn 2014, exactly nine years ago as of this writing, for the very first Procedural Generation Jam. Unfortunately voxels quickly proved to be a dead end for me, and then Java became legally radioactive, so I refused to touch it anymore. Tried redoing VoxelDesc in C++ later, but lacked the skills at the time, and by then my interest had waned anyway. It was still a pleasant surprise to see it linked from this list of procedural generation bookmarks. Thank you all for the interest. I might get back to that C++ port someday.

Change history

The 1st of November 2014 brings only a minor update: the key modifier for moving the camera is now Alt, because Ctrl was interfering with text selection on the command line. Also, I started filling in the last documentation files.

As of 09 Nov 2014, three GUI features are now available to scripts. You might find these useful for automating batch processing.

In addition, now you move the camera wit Alt and the arrows, instead of Ctrl -- the latter was interfering with text selection on the command line.

Lots of changes as of 25 Oct 2014:

As of 23 Oct 2014, there are new operations (recolor and hollow), new and updated documentation and one more sample.

As of 18 Oct 2014, VoxelDesc has mouse support for moving the camera, and actually runs on Java 6 (big oops on my part).