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

STL to OpenSCAD converter

by Riham, published

STL to OpenSCAD converter by Riham Mar 16, 2013
0 Share
Download This Thing! Customize Order This Printed Tools & Utilities

Thing Info

27918Views 2912Downloads
Report Thing


This is a small web page that will convert your STL files to OpenSCAD files, it supports both ASCII STL and Binary STL files.
The best thing about this is that instead of just embedding your stl files in the OpenSCAD you can actually make them part of it, which means they can be used with Customizer.

Please report all bugs to me, or just feel free to fix the bugs yourself, the JSFiddle is available publicly, you can fork it and make any changes

**This was tested only on Chrome - several people have left comments saying it doesn't work on other browsers, unfortunately I haven't had a chance to make it work on other browsers, but you can use the standalone version provided by fma at http://www.thingiverse.com/thing:64709


I really wanted to be able to create designs on 3D software and still be able to customize it, most of the software I found generates STL files and I can't find a way to convert it to openSCAD - so I created this small web page. I attached a sample project I created on https://tinkercad.com and the generated OpenScad file for it.

If you find this useful, please make your thing a derivative of this one :)

Update:2/15/16 I finally made the change to use faces instead of triangles

1- Go to http://jsfiddle.net/Riham/yzvGD/embedded/result/
2- Browse for your STL file
3- Wait for processing to finish
4- Click on the Download link.
5- If you want to look at the code, the JSFiddle is available at http://jsfiddle.net/Riham/yzvGD/

Thing Info

27918Views 2912Downloads
Report Thing

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag

All Apps

Customizer is the easiest way to take great 3D printable designs and make them your own. Make your OpenSCAD designs infinitely more valuable by empowering the community to customize them.

App Info Launch App
Customizer Thing App

This App connects Thingiverse with Makeprintable, a cloud-based mesh repair service that analyzes, validates and repairs most common mesh errors that can occur when preparing a 3D design file for p...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

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.

Mar 1, 2016 - Modified Mar 1, 2016

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

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!

Feb 15, 2016 - Modified Feb 15, 2016
Riham - in reply to VickyTGAW

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?

STL to OpenSCAD python converter
by fma

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

Here is a standalone version written in python:


STL to OpenSCAD python converter
by fma
Riham - in reply to fma

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

fma - in reply to Riham

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...

Riham - in reply to fma

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

fma - in reply to Riham

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.

Riham - in reply to fma

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 :)