# scittle (babashka/scittle)

> Scittle is 'The Small Clojure Interpreter exposed for usage in script tags'. It lets you run Clojure and ClojureScript code straight from browser script tags, powered by SCI.

- GitHub: https://github.com/babashka/scittle
- GitHub.Locker page: https://github.locker/babashka/scittle
- Stars: 445
- Language: HTML
- License: EPL-1.0
- Last push: 2026-11-03

## Questions and answers

Written by GitHub.Locker from the README and the repository; check the README below for details.

**Is it a framework or a library?**

It's a library. You load it into an HTML page with a script tag, and the Clojure code on the page is evaluated directly in the browser.

**How do I get it running?**

Include a versioned Scittle script from JSDelivr in your HTML page, then write Clojure inside script tags. The release page lists the links, and the GitHub Pages site has usage examples.

**Do I need anything besides a browser?**

For a page that runs in the browser, no. Serving assets locally uses the babashka.http-server dependency, which works with babashka or on the Clojure JVM.

**Does it compile my Clojure to JavaScript?**

No, it interprets. SCI evaluates your code at runtime in the browser, so it fits small scripts and quick experiments best.

**Is there a license catch?**

It's released under the EPL-1.0 license (Eclipse Public License), and copyright belongs to Michiel Borkent.

**Is there a full example app I can look at?**

Yes. babashka-scittle-guestbook is a minimal full-stack web application built with Scittle.

**Can I try it without setting anything up?**

Yes. The README points to a CodePen demo where you can try Scittle right in the browser.


---

## README (checked against GitHub 2026-11-06)

Source: https://github.com/babashka/scittle/blob/main/README.md

# Scittle

The [Small Clojure Interpreter](https://github.com/babashka/sci) exposed for usage in script tags.

Try it out on [CodePen](https://codepen.io/Prestance/pen/PoOdZQw)!

See [Github pages](https://babashka.org/scittle/) for usage.

See
[babashka-scittle-guestbook](https://github.com/kloimhardt/babashka-scittle-guestbook)
for a minimal full stack web application.

See [releases](https://github.com/babashka/scittle/releases) for links to
[JSDelivr](https://www.jsdelivr.com) to get versioned artifacts.

## Serving assets

To serve assets you can use the
[babashka.http-server](https://github.com/babashka/http-server) dependency (with
babashka or Clojure JVM):

``` clojure
(require '[babashka.http-server :as http])
(http/serve {:port 1341 :dir "resources/public"})
@(promise) ;; wait until process is killed
```

### nREPL

See [doc/nrepl](doc/nrepl).

### Service worker

See [doc/serviceworker.md](doc/serviceworker.md).

## Tasks

Run `bb tasks` to see all available tasks:

```
$ bb tasks
The following tasks are available:

clean   Start from clean slate.
dev     Development build. Starts webserver and watches for changes.
prod    Builds production artifacts.
release Updates Github pages with new release build.
```

## Credits

Idea by Arne Brasseur a.k.a [plexus](https://github.com/plexus).
Name by Alessandra Sierra (the name occurs first in [this](https://stuartsierra.com/2019/12/21/clojure-start-time-in-2019/) blog post).

## License

Copyright © 2021 - 2022 Michiel Borkent

Distributed under the EPL License. See LICENSE.

