diff --git a/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt b/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
index 370ad69..1d566dc 100644
--- a/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
+++ b/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
@@ -48,7 +48,7 @@
   JDK_9("openjdk-9.0.4"),
   JDK_11("jdk-11"),
   JDK_17("jdk-17"),
-  JDK_20("jdk-20");
+  JDK_21("jdk-21");
 
   fun isJdk8() : Boolean {
     return this == JDK_8
diff --git a/d8_r8/test_modules/tests_java_20/build.gradle.kts b/d8_r8/test_modules/tests_java_21/build.gradle.kts
similarity index 72%
rename from d8_r8/test_modules/tests_java_20/build.gradle.kts
rename to d8_r8/test_modules/tests_java_21/build.gradle.kts
index 43037f0..9d71db8 100644
--- a/d8_r8/test_modules/tests_java_20/build.gradle.kts
+++ b/d8_r8/test_modules/tests_java_21/build.gradle.kts
@@ -15,23 +15,23 @@
 
 java {
   sourceSets.test.configure {
-    java.srcDir(root.resolveAll("src", "test", "examplesJava20"))
+    java.srcDir(root.resolveAll("src", "test", "examplesJava21"))
   }
-  sourceCompatibility = JavaVersion.VERSION_20
-  targetCompatibility = JavaVersion.VERSION_20
+  sourceCompatibility = JavaVersion.VERSION_21
+  targetCompatibility = JavaVersion.VERSION_21
 }
 
 dependencies { }
 
 // We just need to register the examples jars for it to be referenced by other modules.
-val buildExampleJars = buildExampleJars("examplesJava20")
+val buildExampleJars = buildExampleJars("examplesJava21")
 
 tasks {
   withType<JavaCompile> {
     dependsOn(gradle.includedBuild("shared").task(":downloadDeps"))
     options.setFork(true)
     options.forkOptions.memoryMaximumSize = "3g"
-    options.forkOptions.executable = getCompilerPath(Jdk.JDK_20)
+    options.forkOptions.executable = getCompilerPath(Jdk.JDK_21)
   }
 }
 
diff --git a/d8_r8/test_modules/tests_java_20/gradle.properties b/d8_r8/test_modules/tests_java_21/gradle.properties
similarity index 100%
rename from d8_r8/test_modules/tests_java_20/gradle.properties
rename to d8_r8/test_modules/tests_java_21/gradle.properties
diff --git a/d8_r8/test_modules/tests_java_20/settings.gradle.kts b/d8_r8/test_modules/tests_java_21/settings.gradle.kts
similarity index 94%
rename from d8_r8/test_modules/tests_java_20/settings.gradle.kts
rename to d8_r8/test_modules/tests_java_21/settings.gradle.kts
index 390fdb7..28d1dbb 100644
--- a/d8_r8/test_modules/tests_java_20/settings.gradle.kts
+++ b/d8_r8/test_modules/tests_java_21/settings.gradle.kts
@@ -21,6 +21,6 @@
   }
 }
 
-rootProject.name = "tests_java_20"
+rootProject.name = "tests_java_21"
 val root = rootProject.projectDir.parentFile.parentFile
 includeBuild(root.resolve("shared"))
diff --git a/d8_r8/test_modules/tests_java_8/build.gradle.kts b/d8_r8/test_modules/tests_java_8/build.gradle.kts
index 8b0bc68..54aeb8e 100644
--- a/d8_r8/test_modules/tests_java_8/build.gradle.kts
+++ b/d8_r8/test_modules/tests_java_8/build.gradle.kts
@@ -66,7 +66,7 @@
   projectTask("tests_java_10", getExampleJarsTaskName("examplesJava10")),
   projectTask("tests_java_11", getExampleJarsTaskName("examplesJava11")),
   projectTask("tests_java_17", getExampleJarsTaskName("examplesJava17")),
-  projectTask("tests_java_20", getExampleJarsTaskName("examplesJava20")),
+  projectTask("tests_java_21", getExampleJarsTaskName("examplesJava21")),
 )
 
 fun testDependencies() : FileCollection {
diff --git a/d8_r8/test_modules/tests_java_8/settings.gradle.kts b/d8_r8/test_modules/tests_java_8/settings.gradle.kts
index 6600f09..d54c456 100644
--- a/d8_r8/test_modules/tests_java_8/settings.gradle.kts
+++ b/d8_r8/test_modules/tests_java_8/settings.gradle.kts
@@ -35,4 +35,4 @@
 includeBuild(root.resolve("test_modules").resolve("tests_java_10"))
 includeBuild(root.resolve("test_modules").resolve("tests_java_11"))
 includeBuild(root.resolve("test_modules").resolve("tests_java_17"))
-includeBuild(root.resolve("test_modules").resolve("tests_java_20"))
+includeBuild(root.resolve("test_modules").resolve("tests_java_21"))
diff --git a/scripts/add-openjdk.sh b/scripts/add-openjdk.sh
index 4aac626..dd756c7 100755
--- a/scripts/add-openjdk.sh
+++ b/scripts/add-openjdk.sh
@@ -7,18 +7,18 @@
 set -e
 set -x
 
-echo "Update this script manually before using"
-exit -1
+#echo "Update this script manually before using"
+#exit -1
 
 # Download JDK from https://jdk.java.net/X/ (X = version) into ~/Downloads
 # Create directory third_party/openjdk/jdk-X
 # cd into third_party/openjdk/jdk-X
-# Prepare README.google
+# Prepare README.google by copying from ../jdk-X-1 and update
 # Update JDK_VERSION and JDK_VERSION_FULL below
 
 # Now run script with fingers crossed!
 
-JDK_VERSION="20.0.1"
+JDK_VERSION="21"
 JDK_VERSION_FULL=${JDK_VERSION}
 # For ea versions the full version name has a postfix.
 # JDK_VERSION_FULL="${JDK_VERSION}-ea+33"
@@ -58,4 +58,4 @@
 
 git add *.sha1
 
-echo "Update additional files, see https://r8-review.googlesource.com/c/r8/+/61909"
\ No newline at end of file
+echo "Update additional files, see https://r8-review.googlesource.com/c/r8/+/61909"
diff --git a/src/test/examplesJava20/jdk8272564/A.java b/src/test/examplesJava21/jdk8272564/A.java
similarity index 100%
rename from src/test/examplesJava20/jdk8272564/A.java
rename to src/test/examplesJava21/jdk8272564/A.java
diff --git a/src/test/examplesJava20/jdk8272564/B.java b/src/test/examplesJava21/jdk8272564/B.java
similarity index 100%
rename from src/test/examplesJava20/jdk8272564/B.java
rename to src/test/examplesJava21/jdk8272564/B.java
diff --git a/src/test/examplesJava20/jdk8272564/C.java b/src/test/examplesJava21/jdk8272564/C.java
similarity index 100%
rename from src/test/examplesJava20/jdk8272564/C.java
rename to src/test/examplesJava21/jdk8272564/C.java
diff --git a/src/test/examplesJava20/jdk8272564/I.java b/src/test/examplesJava21/jdk8272564/I.java
similarity index 100%
rename from src/test/examplesJava20/jdk8272564/I.java
rename to src/test/examplesJava21/jdk8272564/I.java
diff --git a/src/test/examplesJava20/jdk8272564/J.java b/src/test/examplesJava21/jdk8272564/J.java
similarity index 100%
rename from src/test/examplesJava20/jdk8272564/J.java
rename to src/test/examplesJava21/jdk8272564/J.java
diff --git a/src/test/examplesJava20/jdk8272564/K.java b/src/test/examplesJava21/jdk8272564/K.java
similarity index 100%
rename from src/test/examplesJava20/jdk8272564/K.java
rename to src/test/examplesJava21/jdk8272564/K.java
diff --git a/src/test/examplesJava20/jdk8272564/Main.java b/src/test/examplesJava21/jdk8272564/Main.java
similarity index 100%
rename from src/test/examplesJava20/jdk8272564/Main.java
rename to src/test/examplesJava21/jdk8272564/Main.java
diff --git a/third_party/openjdk/jdk-21/linux.tar.gz.sha1 b/third_party/openjdk/jdk-21/linux.tar.gz.sha1
new file mode 100644
index 0000000..19290f3
--- /dev/null
+++ b/third_party/openjdk/jdk-21/linux.tar.gz.sha1
@@ -0,0 +1 @@
+e5398039546505d79669a159e0047f84cd61ea32
\ No newline at end of file
diff --git a/third_party/openjdk/jdk-21/osx.tar.gz.sha1 b/third_party/openjdk/jdk-21/osx.tar.gz.sha1
new file mode 100644
index 0000000..1a0a1e0
--- /dev/null
+++ b/third_party/openjdk/jdk-21/osx.tar.gz.sha1
@@ -0,0 +1 @@
+bd5748aea8e4d89ea7123d1c2bfe267b8fc882bd
\ No newline at end of file
diff --git a/third_party/openjdk/jdk-21/windows.tar.gz.sha1 b/third_party/openjdk/jdk-21/windows.tar.gz.sha1
new file mode 100644
index 0000000..7415604
--- /dev/null
+++ b/third_party/openjdk/jdk-21/windows.tar.gz.sha1
@@ -0,0 +1 @@
+23e0f901dbb6e31f9877357a8282b531f13e7c2e
\ No newline at end of file
diff --git a/tools/jdk.py b/tools/jdk.py
index ba7ddfb..c697759 100755
--- a/tools/jdk.py
+++ b/tools/jdk.py
@@ -10,9 +10,8 @@
 
 JDK_DIR = os.path.join(defines.THIRD_PARTY, 'openjdk')
 
-ALL_JDKS = [
-    'openjdk-9.0.4', 'jdk-11', 'jdk-15', 'jdk-16', 'jdk-17', 'jdk-18', 'jdk-20'
-]
+ALL_JDKS = ['openjdk-9.0.4', 'jdk-11', 'jdk-15', 'jdk-16', 'jdk-17',
+            'jdk-18', 'jdk-21']
 
 
 def GetJdkHome():
