Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

STL to OpenSCAD converter

by Riham Mar 16, 2013
Download All Files

Thing Apps Enabled

Please Login to Comment

Doesn't work with Microsoft EDGE either.

Doesn't work for me. Using chrome on Windows 10 machine. Doesn't do anything.


Did not work at first, did some fiddling and found it did not see the binary reader.

I copy pasted the External Resources / binaryReader.js file into the javascript window just above var reader;
Pressed run and it worked. Looks like the external resource has an issue but got my scad file after these steps :)


Nice work, this worked for me too:
1.Click on External Resources on the left to expend the tree view

  1. Click on the binaryReader.js, this will open a new tab.
  2. copy all the contents of the new tab
  3. As n4ppy says above, directly above the line in the javascript area of the screen paste the copied code.
  4. load your STL file
  5. now download should be activated for your SCAD file :)

RiHam & n4ppy - Respect!

Nothing here seems to work, ubuntu x64 & chrome, most links the download button does nothing or I get 404 errors? been through all comments.

Thank you a lot!
You sould mention that it only accepts asci encoded stl.

I uploaded a simple STL file but nothing is happening. No load percentage bar. I'm using Google Chrome web browser on Windows 10 computer. Do I have to click on "Run" in the top left corner or click on "Download!"? Neither makes a difference. Clicking on "Run" seems to remove my uploaded file.

Update: the "http" link works in the Microsoft Edge web browser and the upload percentage bar appears. Unfortunately, the program only converts the STL file into an extremely large polyhedron (difficult to customize) object OpenSCAD file.

In latest chrome browser it is blocking some things because they are trying to be pulled in from insecure site. Got it to work by going to http://jsfiddle.net/Riham/yzvGD/ instead of https://jsfiddle.net/Riham/yzvGD/ Notice no HTTPS in link.

This seems to work. Thanks!

This works for me in chrome. Thank you!

I clicked on your link but it automatically changed back to https.

Update: the "http" link works in the Microsoft Edge web browser and the upload percentage bar appears. Unfortunately, the program only converts the STL file into an extremely large polyhedron (difficult to customize) object OpenSCAD file.

Doesn't seem to work at all even in chrome I click load file, then run and nothing happens if I lcick download I just get no file.

Me, too. It's quite disappointing.

I'm not sure, I understand what it is capable of. When having created an STL file from the very simple

cube([10, 10, 10]);

and feeding it to the converter, I'm getting

module object1(scale) {polyhedron(
points=[[0,10,10],[10,0,10],[10,10,10],[10,0,10],[0,10,10],[0,0,10],[0,0,0],[10,10,0],[10,0,0],[10,10,0],[0,0,0],[0,10,0],[0,0,0],[10,0,10],[0,0,10],[10,0,10],[0,0,0],[10,0,0],[10,0,10],[10,10,0],[10,10,10],[10,10,0],[10,0,10],[10,0,0],[10,10,0],[0,10,10],[10,10,10],[0,10,10],[10,10,0],[0,10,0],[0,0,0],[0,10,10],[0,10,0],[0,10,10],[0,0,0],[0,0,10] ],


as a result. What it the use of that compared to a trivial

import("cube.stl", convexity=3);


Hi tmssngr, the problem with importing stl to scad using import this way is that you can't make changes to the object, but when you have the polyhedron you can do that, you can even make the object customizable

It would be nice if the tool was smart enough to detect simple shapes like a cube and just used the cube function - maybe some time in the future :)

This is excellent. Thank you!

Great! Amazing!. Very usefull to me.
But, would be possible you provide the boundary coordinates of the object (max and minimum x, y and z). It could help us to make translation and centering on simetrical objects.
Thanks in advance.

Hi araripe, looks like someone already did this work in one of the remixes:

by joshuaf

You can use http://jsfiddle.net/roha/353r2k8w/embedded/result/ to get a prompt that contain the scad sourcecode.
This work for me at firefox browseras you can see at http://www.thingiverse.com/thing:1383325

stl2scad online - convert stl to scad
by roha

Thanks Roha!

Thank you so much! It worked perfectly to change a heart and hook I made in Blender to make a little Valentine project I did for my kids "Customizer-able". I did change "triangles" to "faces" after the fact. Thanks for sharing this!

Cool! glad it worked for you Vicky! I finally changed triangles to faces.

Amazing job!
To avoid deprecation warnings in OpenSCAD, you should change line 150 of the JS by replacing "triangles" with "faces".

Thank you! I made the change

Amazing, thanks a lot ...

Thanks, Glad you liked it :)

this is awesomee, thankyou so much! but...I'm having the same problem as wurtle38
It seems that the file created is huge, I copied the script into word and it crashed after it counted page 5000+ Yet the model i'm trying to convert isn't very complicated. Few spheres though. Is there a way to reduce the amount of faces in the scad script?

Hey Alanna, sorry you are having trouble with the tool. Do you have the same problem with the standalone version by fma (http://www.thingiverse.com/thing:64709)?

What the tool does is basically convert each polygon from the stl format to the open scad format, the number of polygons and dimensions should remain the same, it is not smart enough to optimize unfortunately, but I am wondering if it is just a few spheres if it would be easier for you to just use OpenScad Sphere function directly (details here http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids) ?

How big is the stl file?

Have been looking for this for a long time, Thanks!!

I don't know if I'm doing something wrong. it did download a file as "FromSTL" but causes openscad to crash when I try to open it, so I tried open with notepad and that crashed as well, I used Chrome on windows 7

hmm.. that error does not happen with other openscad files.... what could be wrong?

Does it fail to open the converted file? What happens if you just open openscad and then copy and paste the file content?

it was an error from m$ visual c++ runtime lib :-(

worked fine in chrome... thou openscad now throws a funny runtime error.... will try and reinstall openscad

Tried this on IE10 and like others nothing happens.... hmm... chrome could be a temp fix, but it should relly run with any browser...
only reason i dont have chrome is that i have given up on the browser war.. everybody says to use this and this... i would end up with 10 browsers :-D

Sorry about that, I haven't tested it on IE, but there is also a standalone version (see remixes) that might be easier to use.

I haven't tried this yet, but if it works (more reliably than STL import into Sketchup, which frequently fails) then you have just made sharing models easier! Thanks!! :-)

Thank you so much! Now I can finally add rafts to tricky models.

I was thinking about how cool something like this would be for Customizer today. Looks like you've already made it! Nice work, I'm looking forward to using it in the future.

Glad you liked it:)

can't download once i upload a file. the link looks like blob:http://fiddle.jshell.net/linky_stuff_herehttp://fiddle.jshell.net/linky... Clicking on it does nothing in my browser. Trying to remove the "blob:" before the http gives me a 404.

Which browser are you using? I tested this only using Chrome

Awesome! Thanks!
Do you mind if I add a link to it?

Please, do :o)

The link does not seem to work any longer

Could you please try again now?

Thanks for the STL reader, I already adapted it.

The problem is in ASCII STL reader, following line #89

for (o = 0; 0 < obects.length; 0++) { // 0 instead of o

should be

for (o = 0; o &lt; objects.length; o++) {

Wow, I must have been really low on caffeine, I fixed the bug, thanks

ah, there is more on the ascii reader to debug, the match of 'solid' creates too many matches, match for 'endsolid', and iterate from o = 1 onward.

best also adjust your vpatt, replace '(-?\d+.?\d*)' by simply (\S+), as numbers can be also 1.0383E+01, which you don't fetch.

Not sure I want to go with \S+ as it will accept invalid chars as well, I think I will allow the E only - thanks for the tip

Permit 'e' and 'E', as I saw some format 1.0234e-01 as well.

Looks great, but I can't make it work neither :o( Nothing happen when I select a file...

Sorry about that, I tested it with a few random files - If you send me the file I will debug it for you, my email is riham at http://outlook.comoutlook.com

I don't think it is a problem with stl file; I suspect the browser. I'm using firefox 10.0. I will try to make a standalone version, in python.

That might be it, I used Chrome for testing

Download after convert wasn't working for me. There is a link but nothing downloads.

That probably means the conversion failed, would you like to send me the file to debug or point me to it?

this is awesome, now i can make my gs3 case truly customizeable.

Thanks, let me know how it went when you try it :)