diff --git a/Data/ByteSet.hs b/Data/ByteSet.hs
--- a/Data/ByteSet.hs
+++ b/Data/ByteSet.hs
@@ -45,10 +45,14 @@
 import Data.Bits
 import Data.Bool
 import Control.Category
+import Control.Applicative (Applicative (..))
 import qualified Data.Foldable as F
 import qualified Data.List as L
 import Data.Functor
 import GHC.Generics (Generic)
+import Data.Binary (Binary (..))
+import Data.Binary.Put (putWord64le)
+import Data.Binary.Get (getWord64le)
 
 -- | Set of bytes ('Word8'). Note that NF and WHNF are equivalent
 --   for values of type 'ByteSet'.
@@ -187,3 +191,10 @@
 
 instance Show ByteSet where
   show = show . elems
+
+instance Binary ByteSet where
+  put (ByteSet s1 s2 s3 s4) =
+       putWord64le s1 *> putWord64le s2
+    *> putWord64le s3 *> putWord64le s4
+  get = ByteSet <$> getWord64le <*> getWord64le
+                <*> getWord64le <*> getWord64le
diff --git a/byteset.cabal b/byteset.cabal
--- a/byteset.cabal
+++ b/byteset.cabal
@@ -1,5 +1,5 @@
 name:                byteset
-version:             0.1.0.0
+version:             0.1.1.0
 synopsis:            Set of bytes.
 description:         Data structure for sets of bytes, where bytes are @Word8@ values.
 license:             BSD3
