diff --git a/package-lock.json b/package-lock.json
index 7a715354..23d96c17 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,7 +16,7 @@
         "minilog": "^3.1.0",
         "raw-loader": "^0.5.1",
         "scratch-svg-renderer": "^3.0.0",
-        "twgl.js": "^4.4.0"
+        "twgl.js": "^6.0.0"
       },
       "devDependencies": {
         "@babel/core": "7.26.10",
@@ -20439,6 +20439,13 @@
         "base64-loader": "^1.0.0"
       }
     },
+    "node_modules/scratch-render/node_modules/twgl.js": {
+      "version": "4.24.0",
+      "resolved": "https://registry.npmjs.org/twgl.js/-/twgl.js-4.24.0.tgz",
+      "integrity": "sha512-JGVTxuV9dqaBmajXyvuZIlhCHrTbIaoNjQvtdoLHyK74OtbmNwZUj6rfdp+pz9htitI/tVxiVQ2nuw+KmD29vg==",
+      "dev": true,
+      "license": "MIT"
+    },
     "node_modules/scratch-sb1-converter": {
       "version": "2.0.122",
       "resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-2.0.122.tgz",
@@ -22718,9 +22725,9 @@
       "license": "Unlicense"
     },
     "node_modules/twgl.js": {
-      "version": "4.24.0",
-      "resolved": "https://registry.npmjs.org/twgl.js/-/twgl.js-4.24.0.tgz",
-      "integrity": "sha512-JGVTxuV9dqaBmajXyvuZIlhCHrTbIaoNjQvtdoLHyK74OtbmNwZUj6rfdp+pz9htitI/tVxiVQ2nuw+KmD29vg==",
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/twgl.js/-/twgl.js-6.1.1.tgz",
+      "integrity": "sha512-/VCUYYWdU4tif3nAUZORJPVUFgBRbLrFHB2ZMRyw3hIGNIhgaOSHIOckYOSVfQWJw/UGW/3q8NRA1ymwLmSfaA==",
       "license": "MIT"
     },
     "node_modules/type-check": {
diff --git a/package.json b/package.json
index a1e0a675..1cfd9fd5 100644
--- a/package.json
+++ b/package.json
@@ -45,7 +45,7 @@
     "minilog": "^3.1.0",
     "raw-loader": "^0.5.1",
     "scratch-svg-renderer": "^3.0.0",
-    "twgl.js": "^4.4.0"
+    "twgl.js": "^6.0.0"
   },
   "peerDependencies": {
     "scratch-render-fonts": "^1.0.0"