Web Application for JSCAD

Usage no npm install needed!

<script type="module">
  import jscadWeb from 'https://cdn.skypack.dev/@jscad/web';


@jscad/web: JSCAD Web UI

This is the Web based UI for JSCAD, either to host yourself, or use directly at https://www.openjscad.xyz/.

NPM version NPM downloads Build Status Stability License

User Group Lerna JavaScript Style Guide

Backers Sponsors

Open Collective

Table of Contents


Immediate Use (no installation)

Go to www.openjscad.xyz

Note: Tested browsers include Chrome, Firefox, Opera, Safari, Edge

Use within a Web Site (pre built files)

cd base-directory-of-website
git clone https://github.com/jscad/OpenJSCAD.org
cd OpenJSCAD.org
cd packages/web // this is where the web version is
cp ../examples ./examples // copy the examples here
<start a web server here>

And then access the contents via the URL of the web-site.

  • index.html for the standard version

NOTE: You might need configuration changes to allow access to the some of the contents (examples etc).

Use of proxies for remote file loading:

If you want the capability, just like the official www.openjscad.xyz site, to load remote projects/files directly from the web based user interface, but without the hassle with CORS issues, then you can use a proxy file (see remote.pl & remote.php):

This is a server side script that does the following

  • caches the remote file locally on the server
  • returns the local path to the downloaded file for local use by the web UI

use and path of the proxy can be set by:

  • changing the proxyUrl value in src/ui/index.js
  • since this is hardcoded , if you do not use the provided dev server, rebuild your main file (See Contributing)

then you can use it like so:





Known Issues

There are a few known issues, please be sure to check this out before submitting additional bug reports/issues.

  • Q: Attempting to use JSCAD from file:// in Chrome results in errors like "File Error: [EncodingError] Please check permissions error."
  • A: This is a permissions issue in Chrome : restart chrome using the "--allow-file-access-from-files" option


The various JSCAD packages and all source code are part of the JSCAD Organization, and maintained by a group of volunteers. We welcome and encourage anyone to pitch in but please take a moment to read the following guidelines.

  • If you want to submit a bug report please make sure to follow the Reporting Issues guide. Bug reports are accepted as Issues via GitHub.

  • If you want to submit a change or a patch, please read the Contributing Guide . New contributions are accepted as Pull Requests via GithHub.

  • We only accept bug reports and pull requests on GitHub.

  • If you have a question about how to use JSCAD, then please start a conversation at the JSCAD User Group. You might find the answer in the JSCAD User Guide.

  • If you have a change or new feature in mind, please start a conversation with the Core Developers and start contributing changes.

Small Note: If editing this README, please conform to the standard-readme specification.


See for more details

HUGE THANKS and SHOUTOUT to nodeBB for hosting our (awesome) forum for free ! Thanks a lot !


Thank you to all our backers! 🙏 [Become a backer]


Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]


The MIT License (MIT) (unless specified otherwise)