diff --git a/src/reader/wgsl/lexer.cc b/src/reader/wgsl/lexer.cc
index 7e521d1..f8c8bfa 100644
--- a/src/reader/wgsl/lexer.cc
+++ b/src/reader/wgsl/lexer.cc
@@ -967,76 +967,6 @@
     return {Token::Type::kFn, source, "fn"};
   if (str == "for")
     return {Token::Type::kFor, source, "for"};
-  if (str == "bgra8unorm")
-    return {Token::Type::kFormatBgra8Unorm, source, "bgra8unorm"};
-  if (str == "bgra8unorm_srgb")
-    return {Token::Type::kFormatBgra8UnormSrgb, source, "bgra8unorm_srgb"};
-  if (str == "r16float")
-    return {Token::Type::kFormatR16Float, source, "r16float"};
-  if (str == "r16sint")
-    return {Token::Type::kFormatR16Sint, source, "r16sint"};
-  if (str == "r16uint")
-    return {Token::Type::kFormatR16Uint, source, "r16uint"};
-  if (str == "r32float")
-    return {Token::Type::kFormatR32Float, source, "r32float"};
-  if (str == "r32sint")
-    return {Token::Type::kFormatR32Sint, source, "r32sint"};
-  if (str == "r32uint")
-    return {Token::Type::kFormatR32Uint, source, "r32uint"};
-  if (str == "r8sint")
-    return {Token::Type::kFormatR8Sint, source, "r8sint"};
-  if (str == "r8snorm")
-    return {Token::Type::kFormatR8Snorm, source, "r8snorm"};
-  if (str == "r8uint")
-    return {Token::Type::kFormatR8Uint, source, "r8uint"};
-  if (str == "r8unorm")
-    return {Token::Type::kFormatR8Unorm, source, "r8unorm"};
-  if (str == "rg11b10float")
-    return {Token::Type::kFormatRg11B10Float, source, "rg11b10float"};
-  if (str == "rg16float")
-    return {Token::Type::kFormatRg16Float, source, "rg16float"};
-  if (str == "rg16sint")
-    return {Token::Type::kFormatRg16Sint, source, "rg16sint"};
-  if (str == "rg16uint")
-    return {Token::Type::kFormatRg16Uint, source, "rg16uint"};
-  if (str == "rg32float")
-    return {Token::Type::kFormatRg32Float, source, "rg32float"};
-  if (str == "rg32sint")
-    return {Token::Type::kFormatRg32Sint, source, "rg32sint"};
-  if (str == "rg32uint")
-    return {Token::Type::kFormatRg32Uint, source, "rg32uint"};
-  if (str == "rg8sint")
-    return {Token::Type::kFormatRg8Sint, source, "rg8sint"};
-  if (str == "rg8snorm")
-    return {Token::Type::kFormatRg8Snorm, source, "rg8snorm"};
-  if (str == "rg8uint")
-    return {Token::Type::kFormatRg8Uint, source, "rg8uint"};
-  if (str == "rg8unorm")
-    return {Token::Type::kFormatRg8Unorm, source, "rg8unorm"};
-  if (str == "rgb10a2unorm")
-    return {Token::Type::kFormatRgb10A2Unorm, source, "rgb10a2unorm"};
-  if (str == "rgba16float")
-    return {Token::Type::kFormatRgba16Float, source, "rgba16float"};
-  if (str == "rgba16sint")
-    return {Token::Type::kFormatRgba16Sint, source, "rgba16sint"};
-  if (str == "rgba16uint")
-    return {Token::Type::kFormatRgba16Uint, source, "rgba16uint"};
-  if (str == "rgba32float")
-    return {Token::Type::kFormatRgba32Float, source, "rgba32float"};
-  if (str == "rgba32sint")
-    return {Token::Type::kFormatRgba32Sint, source, "rgba32sint"};
-  if (str == "rgba32uint")
-    return {Token::Type::kFormatRgba32Uint, source, "rgba32uint"};
-  if (str == "rgba8sint")
-    return {Token::Type::kFormatRgba8Sint, source, "rgba8sint"};
-  if (str == "rgba8snorm")
-    return {Token::Type::kFormatRgba8Snorm, source, "rgba8snorm"};
-  if (str == "rgba8uint")
-    return {Token::Type::kFormatRgba8Uint, source, "rgba8uint"};
-  if (str == "rgba8unorm")
-    return {Token::Type::kFormatRgba8Unorm, source, "rgba8unorm"};
-  if (str == "rgba8unorm_srgb")
-    return {Token::Type::kFormatRgba8UnormSrgb, source, "rgba8unorm_srgb"};
   if (str == "function")
     return {Token::Type::kFunction, source, "function"};
   if (str == "i32")
diff --git a/src/reader/wgsl/lexer_test.cc b/src/reader/wgsl/lexer_test.cc
index 4db3a83..20b3f18 100644
--- a/src/reader/wgsl/lexer_test.cc
+++ b/src/reader/wgsl/lexer_test.cc
@@ -734,41 +734,6 @@
         TokenData{"false", Token::Type::kFalse},
         TokenData{"fn", Token::Type::kFn},
         TokenData{"for", Token::Type::kFor},
-        TokenData{"bgra8unorm", Token::Type::kFormatBgra8Unorm},
-        TokenData{"bgra8unorm_srgb", Token::Type::kFormatBgra8UnormSrgb},
-        TokenData{"r16float", Token::Type::kFormatR16Float},
-        TokenData{"r16sint", Token::Type::kFormatR16Sint},
-        TokenData{"r16uint", Token::Type::kFormatR16Uint},
-        TokenData{"r32float", Token::Type::kFormatR32Float},
-        TokenData{"r32sint", Token::Type::kFormatR32Sint},
-        TokenData{"r32uint", Token::Type::kFormatR32Uint},
-        TokenData{"r8sint", Token::Type::kFormatR8Sint},
-        TokenData{"r8snorm", Token::Type::kFormatR8Snorm},
-        TokenData{"r8uint", Token::Type::kFormatR8Uint},
-        TokenData{"r8unorm", Token::Type::kFormatR8Unorm},
-        TokenData{"rg11b10float", Token::Type::kFormatRg11B10Float},
-        TokenData{"rg16float", Token::Type::kFormatRg16Float},
-        TokenData{"rg16sint", Token::Type::kFormatRg16Sint},
-        TokenData{"rg16uint", Token::Type::kFormatRg16Uint},
-        TokenData{"rg32float", Token::Type::kFormatRg32Float},
-        TokenData{"rg32sint", Token::Type::kFormatRg32Sint},
-        TokenData{"rg32uint", Token::Type::kFormatRg32Uint},
-        TokenData{"rg8sint", Token::Type::kFormatRg8Sint},
-        TokenData{"rg8snorm", Token::Type::kFormatRg8Snorm},
-        TokenData{"rg8uint", Token::Type::kFormatRg8Uint},
-        TokenData{"rg8unorm", Token::Type::kFormatRg8Unorm},
-        TokenData{"rgb10a2unorm", Token::Type::kFormatRgb10A2Unorm},
-        TokenData{"rgba16float", Token::Type::kFormatRgba16Float},
-        TokenData{"rgba16sint", Token::Type::kFormatRgba16Sint},
-        TokenData{"rgba16uint", Token::Type::kFormatRgba16Uint},
-        TokenData{"rgba32float", Token::Type::kFormatRgba32Float},
-        TokenData{"rgba32sint", Token::Type::kFormatRgba32Sint},
-        TokenData{"rgba32uint", Token::Type::kFormatRgba32Uint},
-        TokenData{"rgba8sint", Token::Type::kFormatRgba8Sint},
-        TokenData{"rgba8snorm", Token::Type::kFormatRgba8Snorm},
-        TokenData{"rgba8uint", Token::Type::kFormatRgba8Uint},
-        TokenData{"rgba8unorm", Token::Type::kFormatRgba8Unorm},
-        TokenData{"rgba8unorm_srgb", Token::Type::kFormatRgba8UnormSrgb},
         TokenData{"function", Token::Type::kFunction},
         TokenData{"i32", Token::Type::kI32},
         TokenData{"if", Token::Type::kIf},
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index 17a5e5f..725312d 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -783,112 +783,116 @@
 //  | RGBA32FLOAT
 Expect<ast::ImageFormat> ParserImpl::expect_image_storage_type(
     const std::string& use) {
-  if (match(Token::Type::kFormatR8Unorm))
-    return ast::ImageFormat::kR8Unorm;
-
-  if (match(Token::Type::kFormatR8Snorm))
-    return ast::ImageFormat::kR8Snorm;
-
-  if (match(Token::Type::kFormatR8Uint))
-    return ast::ImageFormat::kR8Uint;
-
-  if (match(Token::Type::kFormatR8Sint))
-    return ast::ImageFormat::kR8Sint;
-
-  if (match(Token::Type::kFormatR16Uint))
-    return ast::ImageFormat::kR16Uint;
-
-  if (match(Token::Type::kFormatR16Sint))
-    return ast::ImageFormat::kR16Sint;
-
-  if (match(Token::Type::kFormatR16Float))
-    return ast::ImageFormat::kR16Float;
-
-  if (match(Token::Type::kFormatRg8Unorm))
-    return ast::ImageFormat::kRg8Unorm;
-
-  if (match(Token::Type::kFormatRg8Snorm))
-    return ast::ImageFormat::kRg8Snorm;
-
-  if (match(Token::Type::kFormatRg8Uint))
-    return ast::ImageFormat::kRg8Uint;
-
-  if (match(Token::Type::kFormatRg8Sint))
-    return ast::ImageFormat::kRg8Sint;
-
-  if (match(Token::Type::kFormatR32Uint))
-    return ast::ImageFormat::kR32Uint;
-
-  if (match(Token::Type::kFormatR32Sint))
-    return ast::ImageFormat::kR32Sint;
-
-  if (match(Token::Type::kFormatR32Float))
-    return ast::ImageFormat::kR32Float;
-
-  if (match(Token::Type::kFormatRg16Uint))
-    return ast::ImageFormat::kRg16Uint;
-
-  if (match(Token::Type::kFormatRg16Sint))
-    return ast::ImageFormat::kRg16Sint;
-
-  if (match(Token::Type::kFormatRg16Float))
-    return ast::ImageFormat::kRg16Float;
-
-  if (match(Token::Type::kFormatRgba8Unorm))
-    return ast::ImageFormat::kRgba8Unorm;
-
-  if (match(Token::Type::kFormatRgba8UnormSrgb))
-    return ast::ImageFormat::kRgba8UnormSrgb;
-
-  if (match(Token::Type::kFormatRgba8Snorm))
-    return ast::ImageFormat::kRgba8Snorm;
-
-  if (match(Token::Type::kFormatRgba8Uint))
-    return ast::ImageFormat::kRgba8Uint;
-
-  if (match(Token::Type::kFormatRgba8Sint))
-    return ast::ImageFormat::kRgba8Sint;
-
-  if (match(Token::Type::kFormatBgra8Unorm))
-    return ast::ImageFormat::kBgra8Unorm;
-
-  if (match(Token::Type::kFormatBgra8UnormSrgb))
-    return ast::ImageFormat::kBgra8UnormSrgb;
-
-  if (match(Token::Type::kFormatRgb10A2Unorm))
-    return ast::ImageFormat::kRgb10A2Unorm;
-
-  if (match(Token::Type::kFormatRg11B10Float))
-    return ast::ImageFormat::kRg11B10Float;
-
-  if (match(Token::Type::kFormatRg32Uint))
-    return ast::ImageFormat::kRg32Uint;
-
-  if (match(Token::Type::kFormatRg32Sint))
-    return ast::ImageFormat::kRg32Sint;
-
-  if (match(Token::Type::kFormatRg32Float))
-    return ast::ImageFormat::kRg32Float;
-
-  if (match(Token::Type::kFormatRgba16Uint))
-    return ast::ImageFormat::kRgba16Uint;
-
-  if (match(Token::Type::kFormatRgba16Sint))
-    return ast::ImageFormat::kRgba16Sint;
-
-  if (match(Token::Type::kFormatRgba16Float))
-    return ast::ImageFormat::kRgba16Float;
-
-  if (match(Token::Type::kFormatRgba32Uint))
-    return ast::ImageFormat::kRgba32Uint;
-
-  if (match(Token::Type::kFormatRgba32Sint))
-    return ast::ImageFormat::kRgba32Sint;
-
-  if (match(Token::Type::kFormatRgba32Float))
-    return ast::ImageFormat::kRgba32Float;
-
-  return add_error(peek().source(), "invalid format", use);
+  auto tok = next();
+  if (tok.IsIdentifier()) {
+    auto s = tok.to_str();
+    if (s == "bgra8unorm") {
+      return ast::ImageFormat::kBgra8Unorm;
+    }
+    if (s == "bgra8unorm_srgb") {
+      return ast::ImageFormat::kBgra8UnormSrgb;
+    }
+    if (s == "r16float") {
+      return ast::ImageFormat::kR16Float;
+    }
+    if (s == "r16sint") {
+      return ast::ImageFormat::kR16Sint;
+    }
+    if (s == "r16uint") {
+      return ast::ImageFormat::kR16Uint;
+    }
+    if (s == "r32float") {
+      return ast::ImageFormat::kR32Float;
+    }
+    if (s == "r32sint") {
+      return ast::ImageFormat::kR32Sint;
+    }
+    if (s == "r32uint") {
+      return ast::ImageFormat::kR32Uint;
+    }
+    if (s == "r8sint") {
+      return ast::ImageFormat::kR8Sint;
+    }
+    if (s == "r8snorm") {
+      return ast::ImageFormat::kR8Snorm;
+    }
+    if (s == "r8uint") {
+      return ast::ImageFormat::kR8Uint;
+    }
+    if (s == "r8unorm") {
+      return ast::ImageFormat::kR8Unorm;
+    }
+    if (s == "rg11b10float") {
+      return ast::ImageFormat::kRg11B10Float;
+    }
+    if (s == "rg16float") {
+      return ast::ImageFormat::kRg16Float;
+    }
+    if (s == "rg16sint") {
+      return ast::ImageFormat::kRg16Sint;
+    }
+    if (s == "rg16uint") {
+      return ast::ImageFormat::kRg16Uint;
+    }
+    if (s == "rg32float") {
+      return ast::ImageFormat::kRg32Float;
+    }
+    if (s == "rg32sint") {
+      return ast::ImageFormat::kRg32Sint;
+    }
+    if (s == "rg32uint") {
+      return ast::ImageFormat::kRg32Uint;
+    }
+    if (s == "rg8sint") {
+      return ast::ImageFormat::kRg8Sint;
+    }
+    if (s == "rg8snorm") {
+      return ast::ImageFormat::kRg8Snorm;
+    }
+    if (s == "rg8uint") {
+      return ast::ImageFormat::kRg8Uint;
+    }
+    if (s == "rg8unorm") {
+      return ast::ImageFormat::kRg8Unorm;
+    }
+    if (s == "rgb10a2unorm") {
+      return ast::ImageFormat::kRgb10A2Unorm;
+    }
+    if (s == "rgba16float") {
+      return ast::ImageFormat::kRgba16Float;
+    }
+    if (s == "rgba16sint") {
+      return ast::ImageFormat::kRgba16Sint;
+    }
+    if (s == "rgba16uint") {
+      return ast::ImageFormat::kRgba16Uint;
+    }
+    if (s == "rgba32float") {
+      return ast::ImageFormat::kRgba32Float;
+    }
+    if (s == "rgba32sint") {
+      return ast::ImageFormat::kRgba32Sint;
+    }
+    if (s == "rgba32uint") {
+      return ast::ImageFormat::kRgba32Uint;
+    }
+    if (s == "rgba8sint") {
+      return ast::ImageFormat::kRgba8Sint;
+    }
+    if (s == "rgba8snorm") {
+      return ast::ImageFormat::kRgba8Snorm;
+    }
+    if (s == "rgba8uint") {
+      return ast::ImageFormat::kRgba8Uint;
+    }
+    if (s == "rgba8unorm") {
+      return ast::ImageFormat::kRgba8Unorm;
+    }
+    if (s == "rgba8unorm_srgb") {
+      return ast::ImageFormat::kRgba8UnormSrgb;
+    }
+  }
+  return add_error(tok.source(), "invalid format", use);
 }
 
 // variable_ident_decl
diff --git a/src/reader/wgsl/token.cc b/src/reader/wgsl/token.cc
index 2a625bb..864036c 100644
--- a/src/reader/wgsl/token.cc
+++ b/src/reader/wgsl/token.cc
@@ -145,76 +145,6 @@
       return "fn";
     case Token::Type::kFor:
       return "for";
-    case Token::Type::kFormatBgra8Unorm:
-      return "bgra8unorm";
-    case Token::Type::kFormatBgra8UnormSrgb:
-      return "bgra8unorm_srgb";
-    case Token::Type::kFormatR16Float:
-      return "r16float";
-    case Token::Type::kFormatR16Sint:
-      return "r16sint";
-    case Token::Type::kFormatR16Uint:
-      return "r16uint";
-    case Token::Type::kFormatR32Float:
-      return "r32float";
-    case Token::Type::kFormatR32Sint:
-      return "r32sint";
-    case Token::Type::kFormatR32Uint:
-      return "r32uint";
-    case Token::Type::kFormatR8Sint:
-      return "r8sint";
-    case Token::Type::kFormatR8Snorm:
-      return "r8snorm";
-    case Token::Type::kFormatR8Uint:
-      return "r8uint";
-    case Token::Type::kFormatR8Unorm:
-      return "r8unorm";
-    case Token::Type::kFormatRg11B10Float:
-      return "rg11b10float";
-    case Token::Type::kFormatRg16Float:
-      return "rg16float";
-    case Token::Type::kFormatRg16Sint:
-      return "rg16sint";
-    case Token::Type::kFormatRg16Uint:
-      return "rg16uint";
-    case Token::Type::kFormatRg32Float:
-      return "rg32float";
-    case Token::Type::kFormatRg32Sint:
-      return "rg32sint";
-    case Token::Type::kFormatRg32Uint:
-      return "rg32uint";
-    case Token::Type::kFormatRg8Sint:
-      return "rg8sint";
-    case Token::Type::kFormatRg8Snorm:
-      return "rg8snorm";
-    case Token::Type::kFormatRg8Uint:
-      return "rg8uint";
-    case Token::Type::kFormatRg8Unorm:
-      return "rg8unorm";
-    case Token::Type::kFormatRgb10A2Unorm:
-      return "rgb10a2unorm";
-    case Token::Type::kFormatRgba16Float:
-      return "rgba16float";
-    case Token::Type::kFormatRgba16Sint:
-      return "rgba16sint";
-    case Token::Type::kFormatRgba16Uint:
-      return "rgba16uint";
-    case Token::Type::kFormatRgba32Float:
-      return "rgba32float";
-    case Token::Type::kFormatRgba32Sint:
-      return "rgba32sint";
-    case Token::Type::kFormatRgba32Uint:
-      return "rgba32uint";
-    case Token::Type::kFormatRgba8Sint:
-      return "rgba8sint";
-    case Token::Type::kFormatRgba8Snorm:
-      return "rgba8snorm";
-    case Token::Type::kFormatRgba8Uint:
-      return "rgba8uint";
-    case Token::Type::kFormatRgba8Unorm:
-      return "rgba8unorm";
-    case Token::Type::kFormatRgba8UnormSrgb:
-      return "rgba8unorm_srgb";
     case Token::Type::kFunction:
       return "function";
     case Token::Type::kI32:
diff --git a/src/reader/wgsl/token.h b/src/reader/wgsl/token.h
index 35c8f79..dca2112 100644
--- a/src/reader/wgsl/token.h
+++ b/src/reader/wgsl/token.h
@@ -153,76 +153,6 @@
     kFn,
     // A 'for'
     kFor,
-    // A 'Bgra8Unorm' format
-    kFormatBgra8Unorm,
-    // A 'Bgra8UnormSrgb' format
-    kFormatBgra8UnormSrgb,
-    // A 'R16Float' format
-    kFormatR16Float,
-    // A 'R16Sint' format
-    kFormatR16Sint,
-    // A 'R16Uint' format
-    kFormatR16Uint,
-    // A 'R32Float' format
-    kFormatR32Float,
-    // A 'R32Sint' format
-    kFormatR32Sint,
-    // A 'R32Uint' format
-    kFormatR32Uint,
-    // A 'R8Sint' format
-    kFormatR8Sint,
-    // A 'R8Snorm' format
-    kFormatR8Snorm,
-    // A 'R8Uint' format
-    kFormatR8Uint,
-    // A 'R8Unorm' format
-    kFormatR8Unorm,
-    // A 'Rg11B10Float' format
-    kFormatRg11B10Float,
-    // A 'Rg16Float' format
-    kFormatRg16Float,
-    // A 'Rg16Sint' format
-    kFormatRg16Sint,
-    // A 'Rg16Uint' format
-    kFormatRg16Uint,
-    // A 'Rg32Float' format
-    kFormatRg32Float,
-    // A 'Rg32Sint' format
-    kFormatRg32Sint,
-    // A 'Rg32Uint' format
-    kFormatRg32Uint,
-    // A 'Rg8Sint' format
-    kFormatRg8Sint,
-    // A 'Rg8Snorm' format
-    kFormatRg8Snorm,
-    // A 'Rg8Uint' format
-    kFormatRg8Uint,
-    // A 'Rg8Unorm' format
-    kFormatRg8Unorm,
-    // A 'Rgb10A2Unorm' format
-    kFormatRgb10A2Unorm,
-    // A 'Rgba16Float' format
-    kFormatRgba16Float,
-    // A 'Rgba16Sint' format
-    kFormatRgba16Sint,
-    // A 'Rgba16Uint' format
-    kFormatRgba16Uint,
-    // A 'Rgba32Float' format
-    kFormatRgba32Float,
-    // A 'Rgba32Sint' format
-    kFormatRgba32Sint,
-    // A 'Rgba32Uint' format
-    kFormatRgba32Uint,
-    // A 'Rgba8Sint' format
-    kFormatRgba8Sint,
-    // A 'Rgba8Snorm' format
-    kFormatRgba8Snorm,
-    // A 'Rgba8Uint' format
-    kFormatRgba8Uint,
-    // A 'Rgba8Unorm' format
-    kFormatRgba8Unorm,
-    // A 'Rgba8UnormSrgb' format
-    kFormatRgba8UnormSrgb,
     /// A 'function'
     kFunction,
     /// A 'i32'
