diff --git a/CMakeLists.txt b/CMakeLists.txt
index f55f391..6ab89a4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,6 +41,7 @@
     include/armnnUtils/FloatingPointConverter.hpp
     include/armnnUtils/TensorUtils.hpp
     include/armnnUtils/Transpose.hpp
+    src/armnnUtils/BFloat16.hpp
     src/armnnUtils/Filesystem.hpp
     src/armnnUtils/Filesystem.cpp
     src/armnnUtils/Processes.hpp
diff --git a/include/armnn/Types.hpp b/include/armnn/Types.hpp
index d66a1fd..29a0d4e 100644
--- a/include/armnn/Types.hpp
+++ b/include/armnn/Types.hpp
@@ -40,6 +40,7 @@
     QuantizedSymm8PerAxis ARMNN_DEPRECATED_ENUM_MSG("Per Axis property inferred by number of scales in TensorInfo") = 6,
     QSymmS8 = 7,
     QAsymmS8 = 8,
+    BFloat16 = 9,
 
     QuantisedAsymm8 ARMNN_DEPRECATED_ENUM_MSG("Use DataType::QAsymmU8 instead.") = QAsymmU8,
     QuantisedSymm16 ARMNN_DEPRECATED_ENUM_MSG("Use DataType::QSymmS16 instead.") = QSymmS16
diff --git a/include/armnn/TypesUtils.hpp b/include/armnn/TypesUtils.hpp
index 53a933b..5065152 100644
--- a/include/armnn/TypesUtils.hpp
+++ b/include/armnn/TypesUtils.hpp
@@ -116,6 +116,7 @@
 {
     switch (dataType)
     {
+        case DataType::BFloat16:
         case DataType::Float16:               return 2U;
         case DataType::Float32:
         case DataType::Signed32:              return 4U;
@@ -179,6 +180,7 @@
         case DataType::QSymmS16:              return "QSymm16";
         case DataType::Signed32:              return "Signed32";
         case DataType::Boolean:               return "Boolean";
+        case DataType::BFloat16:              return "BFloat16";
 
         default:
             return "Unknown";
diff --git a/src/armnn/ResolveType.hpp b/src/armnn/ResolveType.hpp
index 6630934..e1bea42 100644
--- a/src/armnn/ResolveType.hpp
+++ b/src/armnn/ResolveType.hpp
@@ -6,6 +6,7 @@
 #pragma once
 
 #include "armnn/Types.hpp"
+#include "BFloat16.hpp"
 #include "Half.hpp"
 
 namespace armnn
@@ -62,6 +63,12 @@
     using Type = uint8_t;
 };
 
+template<>
+struct ResolveTypeImpl<DataType::BFloat16>
+{
+    using Type = BFloat16;
+};
+
 template<DataType DT>
 using ResolveType = typename ResolveTypeImpl<DT>::Type;
 
diff --git a/src/armnn/test/UtilsTests.cpp b/src/armnn/test/UtilsTests.cpp
index 4c371d6..faf4480 100644
--- a/src/armnn/test/UtilsTests.cpp
+++ b/src/armnn/test/UtilsTests.cpp
@@ -85,6 +85,25 @@
     BOOST_CHECK((GetDataTypeName(armnn::DataType::Float16) == std::string("Float16")));
 }
 
+BOOST_AUTO_TEST_CASE(BFloatType)
+{
+    armnn::BFloat16 a = 16256;
+
+    // Test BFloat16 type
+    BOOST_CHECK_EQUAL(sizeof(a), 2);
+
+    // Test utility function returns correct type.
+    using ResolvedType = armnn::ResolveType<armnn::DataType::BFloat16>;
+    constexpr bool isBFloat16Type = std::is_same<armnn::BFloat16, ResolvedType>::value;
+    BOOST_CHECK(isBFloat16Type);
+
+    //Test utility functions return correct size
+    BOOST_CHECK(GetDataTypeSize(armnn::DataType::BFloat16) == 2);
+
+    //Test utility functions return correct name
+    BOOST_CHECK((GetDataTypeName(armnn::DataType::BFloat16) == std::string("BFloat16")));
+}
+
 BOOST_AUTO_TEST_CASE(GraphTopologicalSortSimpleTest)
 {
     std::map<int, std::vector<int>> graph;
diff --git a/src/armnnUtils/BFloat16.hpp b/src/armnnUtils/BFloat16.hpp
new file mode 100644
index 0000000..bce45aa
--- /dev/null
+++ b/src/armnnUtils/BFloat16.hpp
@@ -0,0 +1,13 @@
+//
+// Copyright © 2020 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <stdint.h>
+
+namespace armnn
+{
+    using BFloat16 = uint16_t;
+} //namespace armnn
