diff --git a/Data/Aeson/Encode/Pretty.hs b/Data/Aeson/Encode/Pretty.hs
--- a/Data/Aeson/Encode/Pretty.hs
+++ b/Data/Aeson/Encode/Pretty.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 
 -- |Aeson-compatible pretty-printing of JSON 'Value's.
-module Data.Aeson.Encode.Pretty (encodePretty) where
+module Data.Aeson.Encode.Pretty (encodePretty, encodePretty') where
 
 import Data.Aeson (Value(..), ToJSON(..))
 import qualified Data.Aeson.Encode as Aeson
@@ -15,13 +15,22 @@
 import qualified Data.Vector as V (toList)
 
 
-type Indent = Int
+type Indent = (Int, Int) -- (spaces per lvl, lvl)
 
 -- |A drop-in replacement for aeson's 'Aeson.encode' function, producing 
 --  JSON-ByteStrings for human readers.
+--
+--  Indents by four spaces per nesting-level.
 encodePretty :: ToJSON a => a -> ByteString
-encodePretty = encodeUtf8 . toLazyText . fromValue 0 . toJSON
+encodePretty = encodePretty' 4 -- default indentation is four spaces
 
+-- |A variant of 'encodePretty' that takes an additional parameter: the number
+--  of spaces to indent per nesting-level.
+encodePretty' :: ToJSON a => Int -> a -> ByteString
+encodePretty' spacesPerLvl = encodeUtf8 . toLazyText . fromValue ind . toJSON
+  where
+    ind = (spacesPerLvl, 0)
+
 fromValue :: Indent -> Value -> Builder
 fromValue ind = go
   where
@@ -42,14 +51,15 @@
     ]
   where
     items' = mconcat . intersperse ",\n" $
-                map (\item -> fromIndent (ind+1) <> fromItem (ind+1) item)
+                map (\item -> fromIndent ind' <> fromItem ind' item)
                     items
+    ind' = let (spacesPerLvl, lvl) = ind in (spacesPerLvl, lvl + 1)
 
 fromPair :: Indent -> (Text, Value) -> Builder
 fromPair ind (k,v) = Aeson.fromValue (toJSON k) <> ": " <> fromValue ind v
 
 fromIndent :: Indent -> Builder
-fromIndent ind = mconcat $ replicate (ind*4) " "
+fromIndent (spacesPerLvl, lvl) = mconcat $ replicate (spacesPerLvl * lvl) " "
 
 (<>) :: Builder -> Builder -> Builder
 (<>) = mappend
diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -3,7 +3,7 @@
 
 import Prelude hiding (interact, concat, unlines, null)
 import Data.Aeson (Value(..), json', encode)
-import Data.Aeson.Encode.Pretty (encodePretty)
+import Data.Aeson.Encode.Pretty
 import Data.Attoparsec.Lazy (Result(..), parse)
 import Data.ByteString.Lazy.Char8 (ByteString, interact, unlines, null)
 import Data.Version (showVersion)
@@ -11,11 +11,16 @@
 import System.Console.CmdArgs
 
 
-data Options = Opts { compact :: Bool } deriving (Data, Typeable)
+data Options = Opts { compact :: Bool
+                    , indent  :: Int
+                    }
+    deriving (Data, Typeable)
 
 opts :: Options
-opts = Opts { compact = False &= help "Compact output." &= groupname "Flags"}
-        &= program prog
+opts = Opts
+    { compact = False &= help "Compact output."
+    , indent  = 4     &= help "Number of spaces per nesting-level (default 4)."
+    }   &= program prog
         &= summary smry
         &= details info
   where
@@ -37,7 +42,7 @@
 main :: IO ()
 main = do
     Opts{..} <- cmdArgs opts
-    let enc = if compact then encode else encodePretty
+    let enc = if compact then encode else encodePretty' indent
     interact $ unlines . map enc . values
 
 values :: ByteString -> [Value]
diff --git a/aeson-pretty.cabal b/aeson-pretty.cabal
--- a/aeson-pretty.cabal
+++ b/aeson-pretty.cabal
@@ -1,5 +1,5 @@
 name:           aeson-pretty
-version:        0.6
+version:        0.6.1
 license:        BSD3
 license-file:   LICENSE
 category:       Text, Web, JSON, Pretty Printer
@@ -16,7 +16,7 @@
     A JSON pretty-printing library compatible with aeson as well as
     a command-line tool to improve readabilty of streams of JSON data.
     .
-    The /library/ provides a single function "encodePretty". It is a drop-in
+    The /library/ provides the function "encodePretty". It is a drop-in
     replacement for aeson's "encode" function, producing JSON-ByteStrings for
     human readers.
     .
@@ -45,7 +45,7 @@
             aeson == 0.6.*,
             attoparsec == 0.10.*,
             base == 4.*,
-            bytestring == 0.9.*,
+            bytestring >= 0.9 && < 0.11,
             cmdargs == 0.7.*,
             containers,
             vector == 0.9.*,
@@ -63,7 +63,7 @@
         aeson == 0.6.*,
         attoparsec == 0.10.*,
         base == 4.*,
-        bytestring == 0.9.*,
+        bytestring >= 0.9 && < 0.11,
         containers,
         vector == 0.9.*,
         text == 0.11.*,
