diff --git a/pw_bytes/BUILD b/pw_bytes/BUILD
index 8bfa841..baa3389 100644
--- a/pw_bytes/BUILD
+++ b/pw_bytes/BUILD
@@ -29,6 +29,7 @@
     ],
     hdrs = [
         "public/pw_bytes/byte_builder.h",
+        "public/pw_bytes/span.h",
     ],
     includes = ["public"],
     deps = [
@@ -45,4 +46,4 @@
         ":pw_bytes",
         "//pw_unit_test",
     ],
-)
\ No newline at end of file
+)
diff --git a/pw_bytes/BUILD.gn b/pw_bytes/BUILD.gn
index b7aa5ab..ab0ca28 100644
--- a/pw_bytes/BUILD.gn
+++ b/pw_bytes/BUILD.gn
@@ -21,16 +21,20 @@
 import("$dir_pw_unit_test/test.gni")
 config("default_config") {
   include_dirs = [ "public" ]
+  visibility = [ ":*" ]
 }
 
 pw_source_set("pw_bytes") {
   public_configs = [ ":default_config" ]
-  public = [ "public/pw_bytes/byte_builder.h" ]
+  public = [
+    "public/pw_bytes/byte_builder.h",
+    "public/pw_bytes/span.h",
+  ]
   sources = [ "byte_builder.cc" ]
   public_deps = [
-    "$dir_pw_preprocessor",
-    "$dir_pw_span",
-    "$dir_pw_status",
+    dir_pw_preprocessor,
+    dir_pw_span,
+    dir_pw_status,
   ]
 }
 
diff --git a/pw_bytes/byte_builder_test.cc b/pw_bytes/byte_builder_test.cc
index 7d8ce2d..ab4dba9 100644
--- a/pw_bytes/byte_builder_test.cc
+++ b/pw_bytes/byte_builder_test.cc
@@ -12,7 +12,7 @@
 // License for the specific language governing permissions and limitations under
 // the License.
 
-#include "pw_bytes//byte_builder.h"
+#include "pw_bytes/byte_builder.h"
 
 #include <array>
 #include <cstddef>
@@ -30,7 +30,7 @@
 namespace {
 
 TEST(ByteBuilder, EmptyBuffer_SizeAndMaxSizeAreCorrect) {
-  ByteBuilder bb(span<byte>{});
+  ByteBuilder bb(ByteSpan{});
 
   EXPECT_TRUE(bb.empty());
   EXPECT_EQ(0u, bb.size());
@@ -54,7 +54,7 @@
 }
 
 TEST(ByteBuilder, EmptyBuffer_Append) {
-  ByteBuilder bb(span<byte>{});
+  ByteBuilder bb(ByteSpan{});
   EXPECT_TRUE(bb.empty());
 
   auto bytesTestLiteral = MakeBytes(0x04, 0x05);
diff --git a/pw_bytes/public/pw_bytes/byte_builder.h b/pw_bytes/public/pw_bytes/byte_builder.h
index fb84347..49af984 100644
--- a/pw_bytes/public/pw_bytes/byte_builder.h
+++ b/pw_bytes/public/pw_bytes/byte_builder.h
@@ -18,8 +18,8 @@
 #include <cstddef>
 #include <cstring>
 
+#include "pw_bytes/span.h"
 #include "pw_preprocessor/compiler.h"
-#include "pw_span/span.h"
 #include "pw_status/status.h"
 #include "pw_status/status_with_size.h"
 
@@ -134,7 +134,7 @@
   using const_iterator = iterator;
 
   // Creates an empty ByteBuilder.
-  constexpr ByteBuilder(span<std::byte> buffer) : buffer_(buffer), size_(0) {}
+  constexpr ByteBuilder(ByteSpan buffer) : buffer_(buffer), size_(0) {}
 
   // Disallow copy/assign to avoid confusion about where the bytes is actually
   // stored. ByteBuffers may be copied into one another.
@@ -213,7 +213,7 @@
   ByteBuilder& append(const void* bytes, size_t count);
 
   // Appends bytes from a byte span that calls the pointer/length version.
-  ByteBuilder& append(span<std::byte> bytes) {
+  ByteBuilder& append(ConstByteSpan bytes) {
     return append(bytes.data(), bytes.size());
   }
 
@@ -280,7 +280,7 @@
 
  protected:
   // Functions to support ByteBuffer copies.
-  constexpr ByteBuilder(const span<std::byte>& buffer, const ByteBuilder& other)
+  constexpr ByteBuilder(const ByteSpan& buffer, const ByteBuilder& other)
       : buffer_(buffer), size_(other.size_), status_(other.status_) {}
 
   void CopySizeAndStatus(const ByteBuilder& other) {
@@ -295,7 +295,7 @@
   }
   size_t ResizeForAppend(size_t bytes_to_append);
 
-  const span<std::byte> buffer_;
+  const ByteSpan buffer_;
 
   size_t size_;
   Status status_;
diff --git a/pw_bytes/public/pw_bytes/span.h b/pw_bytes/public/pw_bytes/span.h
new file mode 100644
index 0000000..b3ebf56
--- /dev/null
+++ b/pw_bytes/public/pw_bytes/span.h
@@ -0,0 +1,26 @@
+// Copyright 2020 The Pigweed 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
+//
+//     https://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.
+#pragma once
+
+#include <cstddef>
+#include <span>
+
+namespace pw {
+
+// Aliases for spans of bytes.
+using ByteSpan = std::span<std::byte>;
+
+using ConstByteSpan = std::span<const std::byte>;
+
+}  // namespace pw
