diff --git a/dhall-json.cabal b/dhall-json.cabal
--- a/dhall-json.cabal
+++ b/dhall-json.cabal
@@ -1,5 +1,5 @@
 Name: dhall-json
-Version: 1.0.6
+Version: 1.0.7
 Cabal-Version: >=1.8.0.2
 Build-Type: Simple
 Tested-With: GHC == 7.10.2, GHC == 8.0.1
@@ -31,7 +31,7 @@
     Build-Depends:
         base               >= 4.8.0.0  && < 5  ,
         aeson              >= 1.0.0.0  && < 1.3,
-        dhall              >= 1.0.1    && < 1.7,
+        dhall              >= 1.0.1    && < 1.8,
         neat-interpolation                < 0.4,
         text               >= 0.11.1.0 && < 1.3,
         vector
@@ -44,8 +44,9 @@
     Build-Depends:
         base             >= 4.8.0.0  && < 5   ,
         aeson            >= 1.0.0.0  && < 1.3 ,
+        aeson-pretty                    < 0.9 ,
         bytestring                      < 0.11,
-        dhall            >= 1.0.1    && < 1.7 ,
+        dhall            >= 1.0.1    && < 1.8 ,
         dhall-json                            ,
         optparse-generic >= 1.1.1    && < 1.3 ,
         trifecta         >= 1.6      && < 1.8 ,
@@ -58,7 +59,7 @@
     Build-Depends:
         base             >= 4.8.0.0  && < 5   ,
         bytestring                      < 0.11,
-        dhall            >= 1.0.1    && < 1.7 ,
+        dhall            >= 1.0.1    && < 1.8 ,
         dhall-json                            ,
         optparse-generic >= 1.1.1    && < 1.3 ,
         trifecta         >= 1.6      && < 1.8 ,
diff --git a/dhall-to-json/Main.hs b/dhall-to-json/Main.hs
--- a/dhall-to-json/Main.hs
+++ b/dhall-to-json/Main.hs
@@ -13,6 +13,7 @@
 
 import qualified Control.Exception
 import qualified Data.Aeson
+import qualified Data.Aeson.Encode.Pretty
 import qualified Data.ByteString.Lazy
 import qualified Data.Text.Lazy.IO
 import qualified Dhall
@@ -25,8 +26,9 @@
 import qualified System.Exit
 import qualified System.IO
 
-newtype Options = Options
+data Options = Options
     { explain :: Bool <?> "Explain error messages in detail"
+    , pretty  :: Bool <?> "Pretty print generated JSON"
     } deriving (Generic, ParseRecord)
 
 main :: IO ()
@@ -49,7 +51,12 @@
         json <- case Dhall.JSON.dhallToJSON expr' of
             Left err  -> Control.Exception.throwIO err
             Right json -> return json
-        Data.ByteString.Lazy.putStr (Data.Aeson.encode json) ))
+
+        let encode =
+                if   Options.Generic.unHelpful pretty
+                then Data.Aeson.Encode.Pretty.encodePretty
+                else Data.Aeson.encode
+        Data.ByteString.Lazy.putStr (encode json) ))
 
 handle :: IO a -> IO a
 handle = Control.Exception.handle handler
