diff --git a/json-builder.cabal b/json-builder.cabal
--- a/json-builder.cabal
+++ b/json-builder.cabal
@@ -1,5 +1,5 @@
 Name:                json-builder
-Version:             0.2.3
+Version:             0.2.4
 Synopsis:            Data structure agnostic JSON serialization
 License:             BSD3
 License-file:        LICENSE
@@ -37,7 +37,8 @@
                        containers,
                        text,
                        unordered-containers,
-                       utf8-string
+                       utf8-string,
+                       vector
 
 source-repository head
   type:     git
@@ -46,4 +47,4 @@
 source-repository this
   type:     git
   location: http://github.com/lpsmith/json-builder
-  tag:      v0.2.3
+  tag:      v0.2.4
diff --git a/src/Data/Json/Builder/Implementation.hs b/src/Data/Json/Builder/Implementation.hs
--- a/src/Data/Json/Builder/Implementation.hs
+++ b/src/Data/Json/Builder/Implementation.hs
@@ -56,8 +56,8 @@
 
 import qualified Data.Text              as T
 import qualified Data.Text.Lazy         as TL
-
 import qualified Data.HashMap.Lazy      as HashMap
+import qualified Data.Vector            as Vector
 
 (++) :: Monoid a => a -> a -> a
 (++) = mappend
@@ -79,7 +79,6 @@
 instance Value Json where
   toJson = id
 
-
 -- | The 'Escaped' type represents json string syntax.  The purpose of this
 -- type is so that json strings can be efficiently constructed from multiple
 -- Haskell strings without superfluous conversions or concatinations.
@@ -307,6 +306,13 @@
 
 instance Value a => JsArray [a] where
   toArray = foldr (\a as -> element a ++ as) mempty
+
+-- | renders as an 'Array'
+instance Value a => Value (Vector.Vector a) where
+  toJson = toJson . toArray
+
+instance Value a => JsArray (Vector.Vector a) where
+  toArray = Vector.foldr (\a as -> element a ++ as) mempty
 
 -- | renders as an 'Object'
 instance (JsString k, Value a) => Value (Map.Map k a) where
