diff --git a/lawful-conversions.cabal b/lawful-conversions.cabal
--- a/lawful-conversions.cabal
+++ b/lawful-conversions.cabal
@@ -1,6 +1,6 @@
 cabal-version: 3.0
 name: lawful-conversions
-version: 0.1.1
+version: 0.1.2
 synopsis: Lawful typeclasses for conversion between types
 category: Conversion
 homepage: https://github.com/nikita-volkov/lawful-conversions
@@ -79,15 +79,20 @@
     LawfulConversions.Relations.LazyTextAndStrictTextBuilder
     LawfulConversions.Relations.LazyTextAndString
     LawfulConversions.Relations.LazyTextAndText
+    LawfulConversions.Relations.LazyTextAndUuid
     LawfulConversions.Relations.LazyTextBuilderAndStrictTextBuilder
     LawfulConversions.Relations.LazyTextBuilderAndString
     LawfulConversions.Relations.LazyTextBuilderAndText
+    LawfulConversions.Relations.LazyTextBuilderAndUuid
     LawfulConversions.Relations.ListAndSeq
     LawfulConversions.Relations.ShortByteStringAndTextArray
     LawfulConversions.Relations.ShortByteStringAndWord8List
     LawfulConversions.Relations.StrictTextBuilderAndString
     LawfulConversions.Relations.StrictTextBuilderAndText
+    LawfulConversions.Relations.StrictTextBuilderAndUuid
     LawfulConversions.Relations.StringAndText
+    LawfulConversions.Relations.StringAndUuid
+    LawfulConversions.Relations.TextAndUuid
     LawfulConversions.Relations.TextArrayAndWord8List
     LawfulConversions.TextCompat.Array
 
@@ -101,6 +106,7 @@
     profunctors >=5 && <6,
     text >=1.2 && <2.2,
     unordered-containers >=0.2 && <0.3,
+    uuid-types >=1.0 && <1.1,
     vector >=0.12 && <0.14,
 
 test-suite test
diff --git a/src/library/LawfulConversions/Prelude.hs b/src/library/LawfulConversions/Prelude.hs
--- a/src/library/LawfulConversions/Prelude.hs
+++ b/src/library/LawfulConversions/Prelude.hs
@@ -55,6 +55,7 @@
 import Data.Text as Exports (Text)
 import Data.Traversable as Exports
 import Data.Tuple as Exports
+import Data.UUID.Types as Exports (UUID)
 import Data.Vector as Exports (Vector)
 import Data.Version as Exports
 import Data.Void as Exports
diff --git a/src/library/LawfulConversions/Relations.hs b/src/library/LawfulConversions/Relations.hs
--- a/src/library/LawfulConversions/Relations.hs
+++ b/src/library/LawfulConversions/Relations.hs
@@ -33,13 +33,18 @@
 import LawfulConversions.Relations.LazyTextAndStrictTextBuilder ()
 import LawfulConversions.Relations.LazyTextAndString ()
 import LawfulConversions.Relations.LazyTextAndText ()
+import LawfulConversions.Relations.LazyTextAndUuid ()
 import LawfulConversions.Relations.LazyTextBuilderAndStrictTextBuilder ()
 import LawfulConversions.Relations.LazyTextBuilderAndString ()
 import LawfulConversions.Relations.LazyTextBuilderAndText ()
+import LawfulConversions.Relations.LazyTextBuilderAndUuid ()
 import LawfulConversions.Relations.ListAndSeq ()
 import LawfulConversions.Relations.ShortByteStringAndTextArray ()
 import LawfulConversions.Relations.ShortByteStringAndWord8List ()
 import LawfulConversions.Relations.StrictTextBuilderAndString ()
 import LawfulConversions.Relations.StrictTextBuilderAndText ()
+import LawfulConversions.Relations.StrictTextBuilderAndUuid ()
 import LawfulConversions.Relations.StringAndText ()
+import LawfulConversions.Relations.StringAndUuid ()
+import LawfulConversions.Relations.TextAndUuid ()
 import LawfulConversions.Relations.TextArrayAndWord8List ()
diff --git a/src/library/LawfulConversions/Relations/LazyTextAndUuid.hs b/src/library/LawfulConversions/Relations/LazyTextAndUuid.hs
new file mode 100644
--- /dev/null
+++ b/src/library/LawfulConversions/Relations/LazyTextAndUuid.hs
@@ -0,0 +1,12 @@
+{-# OPTIONS_GHC -Wno-orphans #-}
+
+module LawfulConversions.Relations.LazyTextAndUuid where
+
+import qualified Data.Text.Lazy
+import qualified Data.UUID.Types
+import LawfulConversions.Classes
+import LawfulConversions.Prelude
+
+instance IsSome Data.Text.Lazy.Text UUID where
+  to = Data.Text.Lazy.fromStrict . Data.UUID.Types.toText
+  maybeFrom = Data.UUID.Types.fromText . Data.Text.Lazy.toStrict
diff --git a/src/library/LawfulConversions/Relations/LazyTextBuilderAndUuid.hs b/src/library/LawfulConversions/Relations/LazyTextBuilderAndUuid.hs
new file mode 100644
--- /dev/null
+++ b/src/library/LawfulConversions/Relations/LazyTextBuilderAndUuid.hs
@@ -0,0 +1,13 @@
+{-# OPTIONS_GHC -Wno-orphans #-}
+
+module LawfulConversions.Relations.LazyTextBuilderAndUuid where
+
+import qualified Data.Text.Lazy
+import qualified Data.Text.Lazy.Builder
+import qualified Data.UUID.Types
+import LawfulConversions.Classes
+import LawfulConversions.Prelude
+
+instance IsSome Data.Text.Lazy.Builder.Builder UUID where
+  to = Data.Text.Lazy.Builder.fromText . Data.UUID.Types.toText
+  maybeFrom = Data.UUID.Types.fromText . Data.Text.Lazy.toStrict . Data.Text.Lazy.Builder.toLazyText
diff --git a/src/library/LawfulConversions/Relations/StrictTextBuilderAndUuid.hs b/src/library/LawfulConversions/Relations/StrictTextBuilderAndUuid.hs
new file mode 100644
--- /dev/null
+++ b/src/library/LawfulConversions/Relations/StrictTextBuilderAndUuid.hs
@@ -0,0 +1,17 @@
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -Wno-orphans #-}
+
+module LawfulConversions.Relations.StrictTextBuilderAndUuid where
+
+#if MIN_VERSION_text(2,0,2)
+
+import qualified Data.UUID.Types
+import qualified Data.Text.Encoding
+import LawfulConversions.Classes
+import LawfulConversions.Prelude
+
+instance IsSome Data.Text.Encoding.StrictBuilder UUID where
+  to = Data.Text.Encoding.textToStrictBuilder . Data.UUID.Types.toText
+  maybeFrom = Data.UUID.Types.fromText . Data.Text.Encoding.strictBuilderToText
+
+#endif
diff --git a/src/library/LawfulConversions/Relations/StringAndUuid.hs b/src/library/LawfulConversions/Relations/StringAndUuid.hs
new file mode 100644
--- /dev/null
+++ b/src/library/LawfulConversions/Relations/StringAndUuid.hs
@@ -0,0 +1,11 @@
+{-# OPTIONS_GHC -Wno-orphans #-}
+
+module LawfulConversions.Relations.StringAndUuid where
+
+import qualified Data.UUID.Types
+import LawfulConversions.Classes
+import LawfulConversions.Prelude
+
+instance IsSome String UUID where
+  to = Data.UUID.Types.toString
+  maybeFrom = Data.UUID.Types.fromString
diff --git a/src/library/LawfulConversions/Relations/TextAndUuid.hs b/src/library/LawfulConversions/Relations/TextAndUuid.hs
new file mode 100644
--- /dev/null
+++ b/src/library/LawfulConversions/Relations/TextAndUuid.hs
@@ -0,0 +1,11 @@
+{-# OPTIONS_GHC -Wno-orphans #-}
+
+module LawfulConversions.Relations.TextAndUuid where
+
+import qualified Data.UUID.Types as Uuid
+import LawfulConversions.Classes
+import LawfulConversions.Prelude
+
+instance IsSome Text UUID where
+  to = Uuid.toText
+  maybeFrom = Uuid.fromText
