There are plenty of existing tools for generating 3D printable lithophane files from an image source file. Some of these are online and do everything in a browser and generally work fine. But I wanted something that would run locally. A lithophane is conceptually simple: print thickness = image brightness. Throwing Python at this seemed like it should be doable. And it is! And has been done. A lot! There are numerous examples of this approach out there as well. However, all the ones I found seemed overly complex, relying on numpy, etc.
So I decided to try writing my own and keeping it as simple as possible. The resulting code is available in this Github repo:
And the resulting prints turned out pretty good :)
The input image can be color, but the lithophanes themselves are monochromatic.
These are SLA prints from JLC. The generated .stl file was uploaded as is. The black print is "JLC Black" resin and the white print is "LEDO 6060" resin. Super simple process with surprisingly good results.
Anywho, code is linked above. Dependencies are about as minimal as they can get. There isn't much in the way of documentation. Hopefully code is simple enough to be self documenting. There are no fancy command line arguments. All user settings are at the top of the code.
By the power of the moon...enjoy!
This page (Simple Python Lithophane Generator) was last updated on July 08, 2026.