diff --git a/src/material-experimental/theming/_customize-m3-tokens.scss b/src/material-experimental/theming/_customize-m3-tokens.scss
new file mode 100644
index 000000000000..030ae88c7eff
--- /dev/null
+++ b/src/material-experimental/theming/_customize-m3-tokens.scss
@@ -0,0 +1,37 @@
+@use 'sass:map';
+@use '@angular/material' as mat;
+
+@use '../../material/core/style/sass-utils';
+@use '../../material/core/tokens/token-utils';
+@use '../../material/core/tokens/m2/mat/checkbox' as mat-checkbox-tokens;
+@use '../../material/core/tokens/m2/mdc/checkbox' as mdc-checkbox-tokens;
+
+@mixin customize-checkbox-tokens($tokens: ()) {
+  $mat-tokens: mat-checkbox-tokens.get-token-slots();
+  $mdc-tokens: mdc-checkbox-tokens.get-token-slots();
+
+  $custom-mat-tokens: ();
+  $custom-mdc-tokens: ();
+
+  @each $token, $value in $tokens {
+    $is-mat-token: map.get($mat-tokens, $token) != null;
+    $is-mdc-token: map.get($mdc-tokens, $token) != null;
+
+    @if ($is-mat-token) {
+      $custom-mat-tokens: map.set($custom-mat-tokens, $token, $value);
+    }
+
+    @if ($is-mdc-token) {
+      $custom-mdc-tokens: map.set($custom-mdc-tokens, $token, $value);
+    }
+
+    @if (not $is-mat-token and not $is-mdc-token) {
+      @error ("Invalid token: '" + $token + "'. Valid tokens include: " map.keys(map.merge($mat-tokens, $mdc-tokens)));
+    }
+  }
+
+  @include sass-utils.current-selector-or-root() {
+    @include token-utils.create-token-values(mat-checkbox-tokens.$prefix, $custom-mat-tokens);
+    @include token-utils.create-token-values(mdc-checkbox-tokens.$prefix, $custom-mdc-tokens);
+  }
+}