diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for net-spider
 
+## 0.3.1.1  -- 2019-07-19
+
+* Add documentation about `GraphML.Writer` module.
+
 ## 0.3.1.0  -- 2019-07-15
 
 * Add `GraphML.Writer` module.
diff --git a/net-spider.cabal b/net-spider.cabal
--- a/net-spider.cabal
+++ b/net-spider.cabal
@@ -1,5 +1,5 @@
 name:                   net-spider
-version:                0.3.1.0
+version:                0.3.1.1
 author:                 Toshio Ito <debug.ito@gmail.com>
 maintainer:             Toshio Ito <debug.ito@gmail.com>
 license:                BSD3
diff --git a/src/NetSpider.hs b/src/NetSpider.hs
--- a/src/NetSpider.hs
+++ b/src/NetSpider.hs
@@ -30,6 +30,10 @@
 -- * "NetSpider.Graph"
 -- * "NetSpider.Snapshot"
 --
+-- == Formatter
+--
+-- * "NetSpider.GraphML.Writer": Write a SnapshotGraph in GraphML format.
+--
 -- == Utility
 --
 -- * "NetSpider.Pair"
diff --git a/src/NetSpider/GraphML/Writer.hs b/src/NetSpider/GraphML/Writer.hs
--- a/src/NetSpider/GraphML/Writer.hs
+++ b/src/NetSpider/GraphML/Writer.hs
@@ -63,9 +63,11 @@
 -- | Node ID in GraphML.
 type NodeID = Text
 
+-- | Type that can be converted to 'NodeID'.
 class ToNodeID a where
   toNodeID :: a -> NodeID
 
+-- | Make a 'NodeID' by calling 'show'.
 nodeIDByShow :: Show a => a -> NodeID
 nodeIDByShow = pack . show
 
@@ -366,6 +368,8 @@
              -> TL.Text
 writeGraphML = writeGraphMLWith defWriteOption
 
+-- | Show the 'SnapshotGraph' into GraphML format. 'WriteOption'
+-- controls the conversion.
 writeGraphMLWith :: (ToNodeID n, ToAttributes na, ToAttributes la)
                  => WriteOption
                  -> SnapshotGraph n na la
