diff --git a/src/Main.hs b/src/Main.hs
index 7415e18fd52b44282b7684ef417669bfee8b5a1b..32afb6ab98a89a4984b28942aeb7e26777c0c203 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -11,8 +11,9 @@ import           Control.Monad.Identity   (Identity)
 import           Data.Aeson               (eitherDecode, encode)
 import           Data.Aeson.Encode.Pretty (encodePretty)
 import           Data.Aeson.KeyMap        (coercionToHashMap)
-import qualified Data.ByteString.Char8    as C8
 import qualified Data.ByteString.Lazy     as LB
+import qualified Data.Text.Encoding as T
+import qualified Data.Text.IO as T
 import           Data.Maybe               (fromMaybe)
 import           System.Exit              (ExitCode (..), exitWith)
 import           WithCli
@@ -88,7 +89,7 @@ run options = do
 
 -- | haskell's many string types are FUN …
 printLB :: LB.ByteString -> IO ()
-printLB a = putStrLn $ C8.unpack $ LB.toStrict a
+printLB a = T.putStrLn $ T.decodeUtf8 $ LB.toStrict a
 
 
 -- if Aesons's internal map and HashMap are the same type, then coercionToHashMap