diff --git a/src/buf/byte.rs b/src/buf/byte.rs
index e2993e3185d988f6cb2d1fa4661c9cacaab80ac1..bf1e14ac27d6b2c4c8eebf07156b3ab12c9691eb 100644
--- a/src/buf/byte.rs
+++ b/src/buf/byte.rs
@@ -1,6 +1,6 @@
 use {alloc, Bytes, SeqByteStr, MAX_CAPACITY};
 use traits::{Buf, MutBuf, MutBufExt, ByteStr};
-use std::{cmp, ptr};
+use std::{cmp, fmt, ptr};
 
 /*
  *
@@ -188,6 +188,12 @@ impl Buf for ByteBuf {
     }
 }
 
+impl fmt::Debug for ByteBuf {
+    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
+        self.bytes().fmt(fmt)
+    }
+}
+
 /*
  *
  * ===== ROByteBuf =====
@@ -254,6 +260,12 @@ impl Buf for ROByteBuf {
     }
 }
 
+impl fmt::Debug for ROByteBuf {
+    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
+        self.bytes().fmt(fmt)
+    }
+}
+
 /*
  *
  * ===== MutByteBuf =====
@@ -327,3 +339,9 @@ impl MutBuf for MutByteBuf {
         &mut self.buf.mem.bytes_mut()[pos..lim]
     }
 }
+
+impl fmt::Debug for MutByteBuf {
+    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
+        self.bytes().fmt(fmt)
+    }
+}