3.1.21
diff --git a/bazel/revisions.bzl b/bazel/revisions.bzl
index 7b227c9..0da1179 100644
--- a/bazel/revisions.bzl
+++ b/bazel/revisions.bzl
@@ -2,6 +2,13 @@
 # DO NOT MODIFY
 
 EMSCRIPTEN_TAGS = {
+    "3.1.21": struct(
+        hash = "f02a9d6a26e96680ceea813c2c3da1a96cd5f052",
+        sha_linux = "ae080fbe0b951a886d37838eaa1e28552e3fa50e5ce8339e36acd62ebabeb2d3",
+        sha_mac = "cd46415b26fbd90b4fe5abad94e2fc1ba74dc15e6fdc1650d4d8de57a2d3577e",
+        sha_mac_arm64 = "b1a226841fe14fc829b161411ab700fd5ca5696cc167b3c74b5182e5c3ff6b69",
+        sha_win = "1951f96906e88ac373038e7372a7e5ab338cba61491e03f0bdfb2a8014553aac",
+    ),
     "3.1.20": struct(
         hash = "d92c8639f406582d70a5dde27855f74ecf602f45",
         sha_linux = "3b606d133489aac8cdfff4f99ff14a35563b1fafe658aa23f83694f77ed9467a",
diff --git a/emscripten-releases-tags.json b/emscripten-releases-tags.json
index 94f9e43..fc5567a 100644
--- a/emscripten-releases-tags.json
+++ b/emscripten-releases-tags.json
@@ -1,6 +1,6 @@
 {
   "aliases": {
-    "latest": "3.1.20",
+    "latest": "3.1.21",
     "latest-sdk": "latest",
     "latest-arm64-linux": "3.1.9",
     "latest-64bit": "latest",
@@ -10,6 +10,8 @@
     "latest-releases-upstream": "latest"
   },
   "releases": {
+    "3.1.21": "f02a9d6a26e96680ceea813c2c3da1a96cd5f052",
+    "3.1.21-asserts": "f6f3ca363853b82d7e53225c1dea4b8543766681",
     "3.1.20": "d92c8639f406582d70a5dde27855f74ecf602f45",
     "3.1.20-asserts": "db0fd1cb7316675317d527b6ed4f4cc7005df9ec",
     "3.1.19": "4c3772879a04140298c3abde90962d5567b5e2fc",