diff --git a/attoparsec-data.cabal b/attoparsec-data.cabal
--- a/attoparsec-data.cabal
+++ b/attoparsec-data.cabal
@@ -1,58 +1,34 @@
-name:
-  attoparsec-data
-version:
-  1.0.3
-category:
-  Parsing
-synopsis:
-  Parsers for the standard Haskell data types
-homepage:
-  https://github.com/nikita-volkov/attoparsec-data
-bug-reports:
-  https://github.com/nikita-volkov/attoparsec-data/issues 
-author:
-  Nikita Volkov <nikita.y.volkov@mail.ru>
-maintainer:
-  Nikita Volkov <nikita.y.volkov@mail.ru>
-copyright:
-  (c) 2017, Nikita Volkov
-license:
-  MIT
-license-file:
-  LICENSE
-build-type:
-  Simple
-cabal-version:
-  >=1.10
-
-source-repository head
-  type:
-    git
-  location:
-    git://github.com/nikita-volkov/attoparsec-data.git
+name: attoparsec-data
+version: 1.0.4
+category: Parsing
+synopsis: Parsers for the standard Haskell data types
+homepage: https://github.com/nikita-volkov/attoparsec-data
+bug-reports: https://github.com/nikita-volkov/attoparsec-data/issues
+author: Nikita Volkov <nikita.y.volkov@mail.ru>
+maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>
+copyright: (c) 2017, Nikita Volkov
+license: MIT
+license-file: LICENSE
+build-type: Simple
+cabal-version: >=1.10
 
 library
-  hs-source-dirs:
-    library
+  hs-source-dirs: library
+  default-extensions: Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
+  default-language: Haskell2010
   exposed-modules:
     Attoparsec.Data
   other-modules:
     Attoparsec.Data.Explicit
     Attoparsec.Data.Implicit
     Attoparsec.Data.Prelude
-  default-extensions:
-    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples
-  default-language:
-    Haskell2010
   build-depends:
-    -- data:
-    time >= 1.4 && < 2,
-    scientific >= 0.2 && < 0.4,
-    text >= 1 && < 2,
-    bytestring >= 0.10 && < 0.11,
-    -- 
-    attoparsec == 0.13.*,
-    attoparsec-time >= 1 && < 1.1,
-    -- 
-    base-prelude < 2,
-    base < 5
+    attoparsec ==0.13.*,
+    attoparsec-time >=1 && <1.1,
+    base <5,
+    base-prelude <2,
+    bytestring >=0.10 && <0.11,
+    scientific >=0.2 && <0.4,
+    text >=1 && <2,
+    time >=1.4 && <2,
+    uuid >=1.3 && <1.4
diff --git a/library/Attoparsec/Data/Explicit.hs b/library/Attoparsec/Data/Explicit.hs
--- a/library/Attoparsec/Data/Explicit.hs
+++ b/library/Attoparsec/Data/Explicit.hs
@@ -9,6 +9,7 @@
   A.double,
   A.scientific,
   string,
+  uuid,
   -- * Time
   B.timeOfDayInISO8601,
   B.dayInISO8601,
@@ -23,6 +24,7 @@
 import qualified Data.Attoparsec.Text as A
 import qualified Attoparsec.Time.Text as B
 import qualified Data.Text.Encoding as C
+import qualified Data.UUID as Uuid
 
 
 {-|
@@ -86,3 +88,13 @@
 string :: A.Parser String
 string =
   many A.anyChar
+
+{-|
+UUID.
+-}
+uuid :: A.Parser UUID
+uuid = do
+  text <- A.takeWhile (\x -> isAlphaNum x || x == '_')
+  case Uuid.fromText text of
+    Just uuid -> return uuid
+    Nothing -> fail (showString "Unparsable UUID: " (show text))
diff --git a/library/Attoparsec/Data/Implicit.hs b/library/Attoparsec/Data/Implicit.hs
--- a/library/Attoparsec/Data/Implicit.hs
+++ b/library/Attoparsec/Data/Implicit.hs
@@ -42,5 +42,6 @@
 INSTANCE(DiffTime, A.diffTime)
 INSTANCE(NominalDiffTime, A.nominalDiffTime)
 INSTANCE(String, A.string)
+INSTANCE(UUID, A.uuid)
 
 #undef INSTANCE
diff --git a/library/Attoparsec/Data/Prelude.hs b/library/Attoparsec/Data/Prelude.hs
--- a/library/Attoparsec/Data/Prelude.hs
+++ b/library/Attoparsec/Data/Prelude.hs
@@ -24,3 +24,7 @@
 -- time
 -------------------------
 import Data.Time as Exports
+
+-- uuid
+-------------------------
+import Data.UUID as Exports (UUID)
