diff --git a/bytestring-from.cabal b/bytestring-from.cabal
--- a/bytestring-from.cabal
+++ b/bytestring-from.cabal
@@ -1,5 +1,5 @@
 name:                bytestring-from
-version:             0.2.1
+version:             0.3
 synopsis:            A type-class to convert values from ByteString.
 license:             OtherLicense
 license-file:        LICENSE
diff --git a/src/Data/ByteString/From.hs b/src/Data/ByteString/From.hs
--- a/src/Data/ByteString/From.hs
+++ b/src/Data/ByteString/From.hs
@@ -22,7 +22,9 @@
 import Data.Word
 import Prelude hiding (elem)
 
-import qualified Data.ByteString.Lazy as Lazy
+import qualified Data.ByteString.Lazy    as LB
+import qualified Data.Text.Lazy          as LT
+import qualified Data.Text.Lazy.Encoding as LT
 
 -- | Parse 'ByteString's.
 class FromByteString a where
@@ -44,7 +46,7 @@
 instance FromByteString ByteString where
     parser = takeByteString
 
-instance FromByteString Lazy.ByteString where
+instance FromByteString LB.ByteString where
     parser = takeLazyByteString
 
 -- | A (flat) comma-separated list of values without spaces.
@@ -55,6 +57,10 @@
 instance FromByteString Text where
     parser = takeByteString >>= text
 
+-- | UTF-8 is assumed as encoding format.
+instance FromByteString LT.Text where
+    parser = takeLazyByteString >>= ltext
+
 instance FromByteString Bool where
     parser =
         satisfy (`elem` "tT") *> string "rue"  *> pure True  <|>
@@ -142,4 +148,7 @@
 
 text :: ByteString -> Parser Text
 text = either (fail . ("Invalid UTF-8: " ++) . show) return . decodeUtf8'
+
+ltext :: LB.ByteString -> Parser LT.Text
+ltext = either (fail . ("Invalid UTF-8: " ++) . show) return . LT.decodeUtf8'
 
