diff --git a/packages/embed/README.md b/packages/embed/README.md
new file mode 100644
index 00000000..c3b7f3ee
--- /dev/null
+++ b/packages/embed/README.md
@@ -0,0 +1,27 @@
+# @strudel.cycles/embed
+
+This package contains a embeddable web component for the Strudel REPL.
+
+## Usage
+
+Either install with `npm i @strudel.cycles/embed` or just use a cdn to import the script:
+
+```html
+
+
+
+
+```
+
+Note that the Code is placed inside HTML comments to prevent the browser from treating it as HTML.
diff --git a/packages/embed/embed.js b/packages/embed/embed.js
new file mode 100644
index 00000000..0661e229
--- /dev/null
+++ b/packages/embed/embed.js
@@ -0,0 +1,17 @@
+class Strudel extends HTMLElement {
+ constructor() {
+ super();
+ }
+ connectedCallback() {
+ setTimeout(() => {
+ const code = (this.innerHTML + '').replace('', '').trim();
+ const iframe = document.createElement('iframe');
+ const src = `https://strudel.tidalcycles.org/#${encodeURIComponent(btoa(code))}`;
+ iframe.setAttribute('src', src);
+ iframe.setAttribute('width', '600');
+ iframe.setAttribute('height', '400');
+ this.appendChild(iframe);
+ });
+ }
+}
+customElements.define('strudel-repl', Strudel);
diff --git a/packages/embed/example.html b/packages/embed/example.html
new file mode 100644
index 00000000..f4ef6d31
--- /dev/null
+++ b/packages/embed/example.html
@@ -0,0 +1,15 @@
+
+
+
+
diff --git a/packages/embed/package.json b/packages/embed/package.json
new file mode 100644
index 00000000..5a15bdec
--- /dev/null
+++ b/packages/embed/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "@strudel.cycles/embed",
+ "version": "0.0.2",
+ "description": "Embeddable Web Component to load a Strudel REPL into an iframe",
+ "main": "embed.js",
+ "type": "module",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/tidalcycles/strudel.git"
+ },
+ "keywords": [
+ "tidalcycles",
+ "strudel",
+ "pattern",
+ "livecoding",
+ "algorave"
+ ],
+ "author": "Felix Roos ",
+ "license": "AGPL-3.0-or-later",
+ "bugs": {
+ "url": "https://github.com/tidalcycles/strudel/issues"
+ },
+ "homepage": "https://github.com/tidalcycles/strudel#readme",
+ "dependencies": {}
+}