diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8bdae2a..ca53f46 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -360,6 +360,7 @@
 message(STATUS "Tint build checking [chromium-style]: ${TINT_CHECK_CHROMIUM_STYLE}")
 message(STATUS "Tint external benchmark corpus dir: ${TINT_EXTERNAL_BENCHMARK_CORPUS_DIR}")
 
+set(IS_ASAN ${DAWN_ENABLE_ASAN})
 
 if (NOT ${TINT_LIB_FUZZING_ENGINE_LINK_OPTIONS} STREQUAL "")
   message(STATUS "Using provided LIB_FUZZING_ENGINE options: ${TINT_LIB_FUZZING_ENGINE_LINK_OPTIONS}")
diff --git a/src/tint/BUILD.gn b/src/tint/BUILD.gn
index 771ee2f..746f8eb 100644
--- a/src/tint/BUILD.gn
+++ b/src/tint/BUILD.gn
@@ -343,7 +343,7 @@
     deps += [ "${tint_src_dir}/cmd/fuzz/wgsl" ]
   }
 
-  if (tint_build_ir_fuzzer) {
+  if (tint_build_ir_fuzzer && (!is_asan || build_with_chromium)) {
     deps += [ "${tint_src_dir}/cmd/fuzz/ir" ]
   }
 }
diff --git a/src/tint/cmd/fuzz/ir/BUILD.bazel b/src/tint/cmd/fuzz/ir/BUILD.bazel
index 68cf24d..2532c66 100644
--- a/src/tint/cmd/fuzz/ir/BUILD.bazel
+++ b/src/tint/cmd/fuzz/ir/BUILD.bazel
@@ -38,6 +38,16 @@
 load("@bazel_skylib//lib:selects.bzl", "selects")
 
 alias(
+  name = "build_with_chromium",
+  actual = "//src/tint:build_with_chromium_true",
+)
+
+alias(
+  name = "_not_is_asan_",
+  actual = "//src/tint:is_asan_false",
+)
+
+alias(
   name = "tint_build_glsl_writer",
   actual = "//src/tint:tint_build_glsl_writer_true",
 )
@@ -78,10 +88,19 @@
 )
 
 selects.config_setting_group(
-    name = "tint_build_ir_binary_and_tint_build_ir_fuzzer",
+    name = "_not_is_asan__or_build_with_chromium",
+    match_any = [
+        "_not_is_asan_",
+        "build_with_chromium",
+    ],
+)
+
+selects.config_setting_group(
+    name = "tint_build_ir_binary_and_tint_build_ir_fuzzer_and___not_is_asan__or_build_with_chromium_",
     match_all = [
         ":tint_build_ir_binary",
         ":tint_build_ir_fuzzer",
+        ":_not_is_asan__or_build_with_chromium",
     ],
 )
 
diff --git a/src/tint/cmd/fuzz/ir/BUILD.cfg b/src/tint/cmd/fuzz/ir/BUILD.cfg
index 8728766..f90f83e 100644
--- a/src/tint/cmd/fuzz/ir/BUILD.cfg
+++ b/src/tint/cmd/fuzz/ir/BUILD.cfg
@@ -1,12 +1,13 @@
 {
     "proto": {
-        "Condition": "tint_build_ir_binary && tint_build_ir_fuzzer",
+        "Condition": "tint_build_ir_binary && tint_build_ir_fuzzer && (!is_asan || build_with_chromium)",
         "AdditionalDependencies": {
-        "Internal": [ "lang/core/ir/binary:proto" ]
+            "Internal": [ "lang/core/ir/binary:proto" ]
         }
     },
     "fuzz_cmd": {
-        "Condition": "tint_build_ir_binary && tint_build_ir_fuzzer",
+        /* Fuzzer has known false positive with ASAN in standalone builds */
+        "Condition": "tint_build_ir_binary && tint_build_ir_fuzzer && (!is_asan || build_with_chromium)",
         /* The Tint fuzzer executable for IR-input. */
         "OutputName": "tint_ir_fuzzer",
         "AdditionalDependencies": {
diff --git a/src/tint/cmd/fuzz/ir/BUILD.cmake b/src/tint/cmd/fuzz/ir/BUILD.cmake
index 356e8c4..a2bec0b 100644
--- a/src/tint/cmd/fuzz/ir/BUILD.cmake
+++ b/src/tint/cmd/fuzz/ir/BUILD.cmake
@@ -34,11 +34,11 @@
 #                       Do not modify this file directly
 ################################################################################
 
-if(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER)
+if(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER AND ((NOT IS_ASAN) OR BUILD_WITH_CHROMIUM))
 ################################################################################
 # Target:    tint_cmd_fuzz_ir_proto
 # Kind:      proto
-# Condition: TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER
+# Condition: TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER AND ((NOT IS_ASAN) OR BUILD_WITH_CHROMIUM)
 ################################################################################
 tint_add_target(tint_cmd_fuzz_ir_proto proto
   cmd/fuzz/ir/fuzz.proto
@@ -50,12 +50,12 @@
   )
 endif(TINT_BUILD_IR_BINARY)
 
-endif(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER)
-if(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER)
+endif(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER AND ((NOT IS_ASAN) OR BUILD_WITH_CHROMIUM))
+if(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER AND ((NOT IS_ASAN) OR BUILD_WITH_CHROMIUM))
 ################################################################################
 # Target:    tint_cmd_fuzz_ir_fuzz_cmd
 # Kind:      fuzz_cmd
-# Condition: TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER
+# Condition: TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER AND ((NOT IS_ASAN) OR BUILD_WITH_CHROMIUM)
 ################################################################################
 tint_add_target(tint_cmd_fuzz_ir_fuzz_cmd fuzz_cmd
   cmd/fuzz/ir/main_fuzz.cc
@@ -113,11 +113,11 @@
   )
 endif(TINT_BUILD_IR_BINARY)
 
-if(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER)
+if(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER AND ((NOT IS_ASAN) OR BUILD_WITH_CHROMIUM))
   tint_target_add_dependencies(tint_cmd_fuzz_ir_fuzz_cmd fuzz_cmd
     tint_cmd_fuzz_ir_proto
   )
-endif(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER)
+endif(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER AND ((NOT IS_ASAN) OR BUILD_WITH_CHROMIUM))
 
 if(TINT_BUILD_MSL_WRITER)
   tint_target_add_dependencies(tint_cmd_fuzz_ir_fuzz_cmd fuzz_cmd
@@ -146,7 +146,7 @@
 
 tint_target_set_output_name(tint_cmd_fuzz_ir_fuzz_cmd fuzz_cmd "tint_ir_fuzzer")
 
-endif(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER)
+endif(TINT_BUILD_IR_BINARY AND TINT_BUILD_IR_FUZZER AND ((NOT IS_ASAN) OR BUILD_WITH_CHROMIUM))
 ################################################################################
 # Target:    tint_cmd_fuzz_ir_fuzz
 # Kind:      fuzz
diff --git a/src/tint/cmd/fuzz/ir/BUILD.gn b/src/tint/cmd/fuzz/ir/BUILD.gn
index 222afe1..265c344 100644
--- a/src/tint/cmd/fuzz/ir/BUILD.gn
+++ b/src/tint/cmd/fuzz/ir/BUILD.gn
@@ -37,7 +37,8 @@
 import("../../../../../scripts/tint_overrides_with_defaults.gni")
 
 import("${tint_src_dir}/tint.gni")
-if (tint_build_ir_binary && tint_build_ir_fuzzer) {
+if (tint_build_ir_binary && tint_build_ir_fuzzer &&
+    (!is_asan || build_with_chromium)) {
   tint_proto_library("proto") {
     sources = [ "fuzz.proto" ]
     deps = []
@@ -90,7 +91,8 @@
     ]
   }
 }
-if (tint_build_ir_binary && tint_build_ir_fuzzer) {
+if (tint_build_ir_binary && tint_build_ir_fuzzer &&
+    (!is_asan || build_with_chromium)) {
   tint_fuzzer_test("ir") {
     output_name = "tint_ir_fuzzer"
     sources = [ "main_fuzz.cc" ]
@@ -139,7 +141,8 @@
       ]
     }
 
-    if (tint_build_ir_binary && tint_build_ir_fuzzer) {
+    if (tint_build_ir_binary && tint_build_ir_fuzzer &&
+        (!is_asan || build_with_chromium)) {
       deps += [ "${tint_src_dir}/cmd/fuzz/ir:proto" ]
     }
 
