diff --git a/firefox-extension/build.sh b/firefox-extension/build.sh
new file mode 100755
index 00000000..b4b5c48e
--- /dev/null
+++ b/firefox-extension/build.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+DST="content/editor"
+if [ -e "${DST}" ]; then
+ rm -rf "${DST}"
+fi
+cp -R ../editor content/
+SVNS=`find content/editor -name '.svn'`
+rm -rf ${SVNS}
diff --git a/firefox-extension/chrome.manifest b/firefox-extension/chrome.manifest
new file mode 100644
index 00000000..1c2d6c6b
--- /dev/null
+++ b/firefox-extension/chrome.manifest
@@ -0,0 +1,2 @@
+content SVG-edit content/
+overlay chrome://browser/content/browser.xul chrome://SVG-edit/content/SVG-edit-overlay.xul
diff --git a/firefox-extension/content/SVG-edit-overlay.js b/firefox-extension/content/SVG-edit-overlay.js
new file mode 100644
index 00000000..6b6470a8
--- /dev/null
+++ b/firefox-extension/content/SVG-edit-overlay.js
@@ -0,0 +1,7 @@
+function start_svg_edit() {
+ var url = "chrome://SVG-edit/content/editor/svg-editor.html";
+ var browser = document.getElementById("content");
+
+ window.openDialog(url, "SVG Editor",
+ "width=1024,height=700,menubar=no,toolbar=no");
+}
diff --git a/firefox-extension/content/SVG-edit-overlay.xul b/firefox-extension/content/SVG-edit-overlay.xul
new file mode 100644
index 00000000..3ae2bbe2
--- /dev/null
+++ b/firefox-extension/content/SVG-edit-overlay.xul
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
diff --git a/firefox-extension/install.rdf b/firefox-extension/install.rdf
new file mode 100644
index 00000000..da9b051b
--- /dev/null
+++ b/firefox-extension/install.rdf
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ svg-edit@googlegroups.com
+ 2.2
+ 2
+
+
+ {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
+ 1.5
+ 3.*
+
+
+ SVG-edit
+
+
diff --git a/firefox-extension/mk_xpi.sh b/firefox-extension/mk_xpi.sh
new file mode 100755
index 00000000..2da358e6
--- /dev/null
+++ b/firefox-extension/mk_xpi.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+./build.sh
+zip -r ../svg-edit.xpi *