OpenSCAD viewer online — preview .scad files in your browser

Paste code, or drop in a .scad file or a whole project folder: real OpenSCAD runs in your browser and renders the model half a second after you stop typing. color(), % background and # highlight look as they do when you press F5 on the desktop. No install, no sign-up, and nothing is uploaded.

Open the viewer →Open with sample code →

What you get

Real OpenSCAD

Not a look-alike interpreter: OpenSCAD itself (a 2025 development snapshot with the Manifold kernel) compiled to WebAssembly. Modules, functions, recursion, list comprehensions, include and use behave exactly as on the desktop.

Renders as you type

Half a second after the last keystroke the model is redrawn — no button. The parameter panel reads Customizer comments; drag a slider and the value is written back into the source.

The F5 look

color() follows the geometry through booleans; faces cut by a difference() show in green; % draws translucent grey and # translucent pink. $preview is true.

Multi-file projects

Drop the folder and include / use resolve against your real layout. MCAD, Write.scad and BOSL2 are built in and mounted when used. Text is shaped with OpenSCAD's own Liberation fonts; put a .ttf in the project for others.

Code in the link

“Copy link” puts the current code into the URL, so whoever opens it sees the model. An AI assistant can hand you such a preview link for the code it writes.

STEP export on the side

Happy with the preview? The same page rebuilds the model as real B-rep STEP for Fusion, SolidWorks and FreeCAD. That is the converter, beyond the viewer — see OpenSCAD to STEP.

Open with sample code

It opens with this code already rendered; change a line and it redraws half a second later.

// A bracket: a plate with two slots and a stiffening rib
$fn = 48;
difference() {
  union() {
    cube([60, 30, 4]);
    translate([0, 0, 4]) cube([60, 4, 16]);
  }
  for (x = [12, 48]) translate([x, 17, -1]) hull() {
    cylinder(h = 6, d = 5);
    translate([0, 6, 0]) cylinder(h = 6, d = 5);
  }
}
%translate([-5, -5, 0]) cube([70, 40, 1]); // the sheet it mounts on, shown only
#translate([30, 2, 10]) rotate([-90, 0, 0]) cylinder(h = 4, d = 3); // a pin, highlighted
Open with sample code →

No .scad file at hand? Start with one of these

Each opens already rendered in your browser. Drag the Customizer sliders to resize it. No sign-up.

Compared with desktop OpenSCAD

Desktop OpenSCADThis viewer
InstallDownload an installerOpen a web page
What runs your codeOpenSCADThe same OpenSCAD, compiled to WebAssembly
PreviewF5: OpenCSGReal geometry from Manifold, coloured by the F5 conventions
Multi-file projectsOpen the entry fileDrop the folder
SharingSend the fileOne link with the code in it
ExportSTL / 3MF / OFF / AMFSTEP (real B-rep); STL not yet
Animation ($t)YesNo

FAQ

Is this real OpenSCAD?

Yes. The code is executed by OpenSCAD itself — a 2025 development snapshot with the Manifold geometry kernel — compiled to WebAssembly and running in your browser. The language, the bundled libraries and the Customizer comments behave as on the desktop.

Why are the walls of a hole green?

That is OpenSCAD's own preview (F5) convention: faces left behind by an object subtracted with difference() are drawn in the “back face” colour, green in the default scheme. The viewer keeps the convention; an object with its own color() keeps that colour.

Can I open .scad files downloaded from Thingiverse or Printables?

Yes. Drop in the whole downloaded folder so the files it includes come along. MCAD, Write.scad and BOSL2 are built in.

Is my code uploaded to a server?

No. OpenSCAD runs in your browser and the .scad files are never uploaded; code after # in a link is not sent to the server either.

How large a model can it handle?

A typical model renders in under a second. A model that flattens to more than 150,000 nodes (loops unrolled) is beyond the in-browser build and says so. A long render can be stopped at any time.

How does the preview differ from the exported STEP?

The preview is OpenSCAD's own render, with circles as $fn facets. For the STEP export a CAD kernel rebuilds every primitive and boolean as exact geometry, so a circle is a true cylinder. Colours exist only in the preview; a STEP carries none.

How do I quickly see OpenSCAD code written by ChatGPT or Gemini?

Paste it into the viewer, or ask the assistant for a link of the form https://app.forgent3d.com/scad#code=<code> — it opens with the model already rendered.

Read more