diff --git a/bytestring-conversion.cabal b/bytestring-conversion.cabal
--- a/bytestring-conversion.cabal
+++ b/bytestring-conversion.cabal
@@ -1,5 +1,5 @@
 name:                bytestring-conversion
-version:             0.2.1
+version:             0.3.0
 synopsis:            Type-classes to convert values to and from ByteString.
 license:             OtherLicense
 license-file:        LICENSE
diff --git a/src/Data/ByteString/Conversion/From.hs b/src/Data/ByteString/Conversion/From.hs
--- a/src/Data/ByteString/Conversion/From.hs
+++ b/src/Data/ByteString/Conversion/From.hs
@@ -31,6 +31,8 @@
 import qualified Data.Attoparsec.ByteString.Lazy as Lazy
 import qualified Data.ByteString.Lazy            as Lazy
 import qualified Data.Text                       as T
+import qualified Data.Text.Lazy                  as TL
+import qualified Data.Text.Lazy.Encoding         as TL
 
 -- | Parse 'ByteString's.
 class FromByteString a where
@@ -89,6 +91,10 @@
 instance FromByteString Text where
     parser = takeByteString >>= text
 
+-- | UTF-8 is assumed as encoding format.
+instance FromByteString TL.Text where
+    parser = takeLazyByteString >>= ltext
+
 instance FromByteString Bool where
     parser =
         satisfy (`elem` "tT") *> string "rue"  *> pure True  <|>
@@ -159,3 +165,8 @@
 
 text :: ByteString -> Parser Text
 text = either (fail . ("Invalid UTF-8: " ++) . show) return . decodeUtf8'
+{-# INLINE text #-}
+
+ltext :: Lazy.ByteString -> Parser TL.Text
+ltext = either (fail . ("Invalid UTF-8: " ++) . show) return . TL.decodeUtf8'
+{-# INLINE ltext #-}
