diff --git a/src/tint/ast/group_attribute.h b/src/tint/ast/group_attribute.h
new file mode 100644
index 0000000..31d5007
--- /dev/null
+++ b/src/tint/ast/group_attribute.h
@@ -0,0 +1,51 @@
+// Copyright 2020 The Tint Authors.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#ifndef SRC_TINT_AST_GROUP_ATTRIBUTE_H_
+#define SRC_TINT_AST_GROUP_ATTRIBUTE_H_
+
+#include <string>
+
+#include "src/tint/ast/attribute.h"
+
+namespace tint {
+namespace ast {
+
+/// A group attribute
+class GroupAttribute : public Castable<GroupAttribute, Attribute> {
+ public:
+  /// constructor
+  /// @param pid the identifier of the program that owns this node
+  /// @param src the source of this node
+  /// @param value the group value
+  GroupAttribute(ProgramID pid, const Source& src, uint32_t value);
+  ~GroupAttribute() override;
+
+  /// @returns the WGSL name for the attribute
+  std::string Name() const override;
+
+  /// Clones this node and all transitive child nodes using the `CloneContext`
+  /// `ctx`.
+  /// @param ctx the clone context
+  /// @return the newly cloned node
+  const GroupAttribute* Clone(CloneContext* ctx) const override;
+
+  /// The group value
+  const uint32_t value;
+};
+
+}  // namespace ast
+}  // namespace tint
+
+#endif  // SRC_TINT_AST_GROUP_ATTRIBUTE_H_
