diff --git a/System/UTF8IO.hs b/System/UTF8IO.hs
--- a/System/UTF8IO.hs
+++ b/System/UTF8IO.hs
@@ -22,6 +22,7 @@
     , hGetChar
     , hLookAhead
     , hPrint
+    , interact
     ) where
 
 import Codec.Binary.UTF8.String (decodeString)
@@ -52,6 +53,7 @@
     , hPrint
     , openBinaryFile
     , withBinaryFile
+    , interact
     )
 
 import qualified System.IO
@@ -68,6 +70,7 @@
     , getContents
     , putChar
     , getChar
+    , interact
     )
 
 -- | Computation 'hPutChar' @hdl ch@ writes the character @ch@ to the file or channel managed by @hdl@. 
@@ -144,4 +147,10 @@
 
 hPrint		:: Show a => Handle -> a -> IO ()
 hPrint hdl 	=  hPutStrLn hdl . show
+
+-- | UTF8 variant of interact.
+
+interact  :: (String -> String) -> IO ()
+interact f = getContents >>= putStr . f
+
 
diff --git a/UTF8Prelude.hs b/UTF8Prelude.hs
--- a/UTF8Prelude.hs
+++ b/UTF8Prelude.hs
@@ -45,7 +45,6 @@
     , hGetChar
     , hLookAhead
     , hPrint
-    , interact
     , readIO
     , IO
     , FilePath
@@ -64,6 +63,7 @@
     , getContents
     , putChar
     , getChar
+    , interact
     )
 
 import qualified Prelude
diff --git a/utf8-prelude.cabal b/utf8-prelude.cabal
--- a/utf8-prelude.cabal
+++ b/utf8-prelude.cabal
@@ -1,6 +1,6 @@
 name:           utf8-prelude
-version:        0.1.4
-synopsis:       Variants of Prelude and System.IO using UTF8 text I/O operations and an UTF8 testing tool
+version:        0.1.5
+synopsis:       Variants of Prelude and System.IO with UTF8 text I/O operations
 description:    
     If you want your Haskell code to have UTF8 text I/O then use libraries which have UTF8 text I/O.
     In case of Prelude with this package only three mechanical steps needed:
