diff --git a/BasicPrelude.hs b/BasicPrelude.hs
--- a/BasicPrelude.hs
+++ b/BasicPrelude.hs
@@ -25,6 +25,7 @@
   , product
     -- ** Text for Read and Show operations
   , show
+  , fromShow
   , read
   , readIO
     -- ** FilePath for file operations
@@ -142,6 +143,12 @@
 -- | Convert a value to readable Text
 show :: Show a => a -> Text
 show = Text.pack . Prelude.show
+
+-- | Convert a value to readable IsString
+--
+-- Since 0.3.12
+fromShow :: (Show a, IsString b) => a -> b
+fromShow = fromString . Prelude.show
 
 -- | Parse Text to a value
 read :: Read a => Text -> a
diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.3.12
+
+* Add `fromShow` [#55](https://github.com/snoyberg/basic-prelude/pull/55)
+
 ## 0.3.11
 
 * [Generalize `print`](https://github.com/snoyberg/basic-prelude/pull/51)
diff --git a/basic-prelude.cabal b/basic-prelude.cabal
--- a/basic-prelude.cabal
+++ b/basic-prelude.cabal
@@ -1,5 +1,5 @@
 name:                basic-prelude
-version:             0.3.11.1
+version:             0.3.12
 synopsis:            An enhanced core prelude; a common foundation for alternate preludes.
 description:
     The premise of @basic-prelude@ is that there are a lot of very commonly desired features missing from the standard @Prelude@, such as commonly used operators (@\<$\>@ and @>=>@, for instance) and imports for common datatypes (e.g., @ByteString@ and @Vector@). At the same time, there are lots of other components which are more debatable, such as providing polymorphic versions of common functions.
