Utility #1 – Lithophane from image

To pull all the work so far together, I’ve added a simple user interface:


With panels to allow you to set the output dimensions and quality, view the monochrome 2D brightness reference image, view and zoom around the generated lithophane and Drag & Drop images from you computer.

You can set:

  • Max Size – the largest X or Y dimension of the output lithophane.
  • Thickness – the maximum Z dimension of the output lithophane.
  • Border – the thickness of the border around the edge
  • Thinnest layer – This is the layer thickness for the brightest pixels in the image
  • Vectors per pixel – each of the pixels in the image is translated into a number of 3D points on the surface of the lithophane, the larger this number, the more detailed the output (and the larger the STL file/slower the processing) 2 is a good value for this you can go up to 5, but it will take time and use memory…
  • Base/Stand depth – I added this for RichRap, he likes to have a small stand on the base when printing vertically.  I haven’t used it as all the test prints I performed all stood on their edges quite happily without a stand.

Once you click on an image that you have dropped on the lower panel, the progress bar is updated to show you the conversion progress and once it has displayed the 3D view, the software converts the data into an STL file and initialises a download.

The steps are:

  • 2D processing – converting the image to a brightness monochrome image
  • Processing Vectors – adding each of the points to the 3D mesh
  • Processing Faces – adding each of the triangles (2 per square)
  • Processing Surface –  adding the features that allow light to reflect off the surface
  • Adding to scene –  putting it into the three.js scene for viewiing
  • Creating STL file –  Arranging the Vectors and Faces onto a binary STL format
  • Downloading – initialising a download of the STL Blob.

All of this happens on your machine with nothing being transferred over the internet, so it’s quick and private with no cloud access or spam emails to worry about.

My daughter is happy with the first tool I’ve made for her and I have received some external feedback that is positive as well, which is very nice to get 🙂

Use it here

The source is available here if you’re interested in the details.

Oh, and here’s a picture of a printed Lithophane:



Quick update:

People are having some trouble with the parameters the program will only accept the values shown below, if you enter another value, it will be shown in red and ignored:

Output Dimension – between 1 mm and 1000 mm
Thickness – between 1 mm and 100 mm
Border Thickness – between 0 mm and Output Dimension / 2
Thinnest layer – between 0.1 mm and Thickness In MM
Vectors per pixel – between 1 and 5
Base/Stand depth between -50 mm and 50 mm (negative sticks out the back)

The Stand will be the same thickness as the border, unless the border is 0 in which case it will be 2mm thick.


Published by


see about

8 thoughts on “Utility #1 – Lithophane from image”

  1. Thank you. What a wonderful tool you’ve provided. My 9th grade son has written a series of children’s books (bedtime stories for 3 – 7 year olds) which incorporate 3D objects and 3D printable toys. I wonder if we can use your software to create ‘the ground’ so kids can place Sunny and his 3D objects on top of them? We will give it a go. Thanks again. http://www.SunnyTheBear.com

    1. Thank you, I hope you can use it the way you plan.
      In the coming weeks I will be adding more tools, one is a label/badge/coaster tool that allows you to use an image in a low fidelity manner on a flat surface such as a badge, buckle, drinks coaster, etc. You may find this is even better suited.

  2. Hi!
    This is GREAT!
    I was using the Mesh from Bitmap extension for SketchUp to generate Lithos from pictures, but it had a bug and took 45 minutes to ”Explode” the generated ”Group” in order to integrate it to the rest of the design and to make it a Solid for STL export. Now it takes seconds! THANKS!!!
    Perhaps a little constructive feedback: so I took a picture of my daughter and cut it in a Heart Shape with transparent background in PhotoShop, and saved it to PNG. Then I uploaded in your awsome Tool hoping the frame around the picture would be in a Heart Shape. The frame is still a rectangle and that’s OK because I can draw the Heart Shaped edge and fix it in SketchUp easily. I even modeled a little ring on the top to hang the Lithophane in a window or something. But not everyone has the 3D skills for that and it might be a good idea if you wish to push the app further..
    Hey, I’m also into Open Source Hardware since 2010, in the http://www.sensorica.co/ Network. Check it out, we’re prototyping a Value Accounting System for Peers to log their assets and time for Value redistribution according to the established Value Equation per project. This is the Holly Grail of P2P innovation because now contributions can be traced and stories like MakerBot going Corporate and not giving back to the community will be a thing of the past! We’re moving this software on the https://www.ethereum.org/ Block Chain Platform when it’s ready and it will be scalable. Thought maybe your talent and Culture are a good fit for this type of innovation…
    Anyway, so I also have 3 kids and you can see I’m into 3D printing as well so I found your story so moving I shared it generously.

    1. Hi Daniel,

      Thanks for the note, I had thought about the mask, but I didn’t do anything with it yet. My next tool is for creating badges/buckles/name plates etc. and will use a low fidelity image to create levels in the output and more importantly trim to the outside of the image. I’ll be posting that here and I can’t see why I wouldn’t incorporate the edge mask back into the Lithophane.

      Your other work looks interesting, I’ll follow along…


  3. hello. this is great.
    i have an image with a transparent background that i’d like to use. when i upload the image, the background turns into a square box (that looks like a floor) under my image. is there any way to get rid of this? when i print my part, i want only the original image, not the box around it. Thanks!

  4. My Browser crashes everytime I try to Convert an Image into a huge 360° outer curve.
    It tells me, Browser run out of RAM.
    I have 32 GB of RAM. Browser uses up to 3GB

    1. I’m afraid your browser has limited RAM regardless of your system RAM. There is nothing I can do to fix that. I did hear recently that FireFox are expanding the capabilities of the Browser in both Memory and CPU usage, so you might try there.

Leave a Reply

Your email address will not be published. Required fields are marked *