diff --git a/editor/js/tools/deletetool.js b/editor/js/tools/deletetool.js
index 97a420b1b2fcc7552733116939cd2d57a711ef66..44cfdc3ce1af5c77007a943501384f7423ebb020 100644
--- a/editor/js/tools/deletetool.js
+++ b/editor/js/tools/deletetool.js
@@ -21,7 +21,7 @@ export default class DeleteTool extends Tool {
 
     onBoxSelect(left, bottom, top, right) {
         // Filter out selected nodes
-        const hitNodes = [];
+        const selectedNodes = [];
         const tl = renderer.screen2GraphCoords(left, top);
         const br = renderer.screen2GraphCoords(right, bottom);
         graph.data[Graph.GRAPH_NODES].forEach((node) => {
@@ -31,13 +31,25 @@ export default class DeleteTool extends Tool {
                 br.y > node.y &&
                 node.y > tl.y
             ) {
-                hitNodes.push(node);
+                selectedNodes.push(node);
             }
         });
 
-        // Delete selected items after confirmation
-        console.log("DELETE");
-        console.log(hitNodes);
+        // Was anything even selected?
+        if (selectedNodes.length <= 0) {
+            return;
+        }
+
+        // Ask for confirmation to delete
+        var nodeNames = selectedNodes.map((n) => n[Graph.NODE_LABEL]);
+        //! Problem: If browser is not actually showing the alerts, it always returns false!
+        var shouldDelete = confirm("Do you wanna delete all these nodes:\n\n" + nodeNames.join("\n"))
+        
+        // Delete if confirmed
+        if (shouldDelete) {
+            var nodeIds = selectedNodes.map((n) => n[Graph.NODE_ID]);
+            graph.deleteNodes(nodeIds);
+        }
     }
 
     onNodeClick(node) {