diff --git a/css/main.css b/css/main.css
index 158ad82eeb6d93d995a3bea4cef7697cca35caf4..c5697fb66e883317c46589da9bc16d008a14f91d 100644
--- a/css/main.css
+++ b/css/main.css
@@ -596,4 +596,13 @@ label {
 
 .consoleWarning {
     color: orange;
+}
+.consoleComment {
+    color: darkgray;
+}
+
+#saveConsole {
+    height: 42px;
+    border-bottom-width: 0;
+    border-radius: 0;
 }
\ No newline at end of file
diff --git a/index.html b/index.html
index c2c1f35364b4790218bb96816ddf74de26af8626..51d27b01bfeeb4d90da58482dbdaebf3e5478748 100644
--- a/index.html
+++ b/index.html
@@ -131,7 +131,10 @@
 <div id="console">
     <div>
         <div id="consoleOutput"></div>
-        <input id="consoleInput" value="" placeholder="Type Command" class="form-control" type="text">
+        <div class="input-group">
+            <input id="consoleInput" value="" aria-describedby="consoleSaveScript" placeholder="Type Command" class="form-control" type="text">
+            <span class="input-group-addon btn btn-defualt" id="consoleSaveScript">Save Script</span>
+        </div>
     </div>
 </div>
 <div id="menuWrapper"><div id="menuHeader"></div><div id="menuContent"></div></div>
diff --git a/js/menus/otherUI/Console.js b/js/menus/otherUI/Console.js
index 625095bc5b74f9c50b462298d0235518fe6c2fdf..a73d0a021d2248db84101415d5fa42fb5739df8a 100644
--- a/js/menus/otherUI/Console.js
+++ b/js/menus/otherUI/Console.js
@@ -10,7 +10,7 @@ define(['jquery', 'underscore', 'backbone', 'appState'], function($, _, Backbone
         el: "#console",
 
         events: {
-
+            "click #consoleSaveScript":                     "_saveScript"
         },
 
         initialize: function(){
@@ -42,12 +42,16 @@ define(['jquery', 'underscore', 'backbone', 'appState'], function($, _, Backbone
             return appState.get("consoleIsVisible");
         },
 
-        write: function(string){
-            this._writeOutput(string + "<br/>");
+        write: function(string){//for commands
+            this._writeOutput(string + "<br>");
+        },
+
+        log: function(string){//for comments
+            this._writeOutput("<span class='consoleComment'>" + string + "</span><br>");
         },
 
         warn: function(string){
-            this._writeOutput("<span class='consoleWarning'>" + string + "</span><br/>");
+            this._writeOutput("<span class='consoleWarning'>" + string + "</span><br>");
         },
 
         error: function(string){
@@ -89,7 +93,25 @@ define(['jquery', 'underscore', 'backbone', 'appState'], function($, _, Backbone
 //            var command = $input.val();
             var command = "nice try, this doesn't work yet :)";
             $input.val("");
-            this.write(command);
+            this.log(command);
+        },
+
+        _saveScript: function(e){
+            e.preventDefault();
+            var self = this;
+            require(['fileSaver'], function(fileSaver){
+                fileSaver.saveConsoleScript(self.getConsoleData());
+            })
+        },
+
+        getConsoleData: function(){
+            var data = $("#consoleOutput").html().split("<br>");
+            data.pop();//last line is ""
+            var commands = []
+            _.each(data, function(line, index){
+                if (line.substr(0,5) != "<span") commands.push(line);
+            });
+            return commands.join('\n');
         }
 
     });
diff --git a/js/models/FileSaver.js b/js/models/FileSaver.js
index 95188c55324685ab7d49d95b5c8bb2278f6b9538..0790a08a793b70304ab81c04cf02668dbb88f265 100644
--- a/js/models/FileSaver.js
+++ b/js/models/FileSaver.js
@@ -140,6 +140,10 @@ define(['underscore', 'fileSaverLib', 'lattice', 'materials', 'ribbon', 'menuWra
         });
     }
 
+    function saveConsoleScript(data){
+        saveData(data, "script", "js");
+    }
+
 
     return {//return public methods
 //        save: save,
@@ -150,6 +154,7 @@ define(['underscore', 'fileSaverLib', 'lattice', 'materials', 'ribbon', 'menuWra
 //        saveAssembler: saveAssembler,
         loadFile: loadFile,
         saveSequences: saveSequences,
-        saveSTL: saveSTL
+        saveSTL: saveSTL,
+        saveConsoleScript: saveConsoleScript
     }
 });
\ No newline at end of file