diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
 # Changelog
 
+## [0.4.0.5] - 2024-07-28
+
+### Added
+
+* Documentation now shows example values and default values.
+
 ## [0.4.0.4] - 2024-07-28
 
 ### Added
diff --git a/opt-env-conf.cabal b/opt-env-conf.cabal
--- a/opt-env-conf.cabal
+++ b/opt-env-conf.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           opt-env-conf
-version:        0.4.0.4
+version:        0.4.0.5
 synopsis:       Settings parsing for Haskell: command-line arguments, environment variables, and configuration values.
 homepage:       https://github.com/NorfairKing/opt-env-conf#readme
 bug-reports:    https://github.com/NorfairKing/opt-env-conf/issues
diff --git a/src/OptEnvConf/Doc.hs b/src/OptEnvConf/Doc.hs
--- a/src/OptEnvConf/Doc.hs
+++ b/src/OptEnvConf/Doc.hs
@@ -63,6 +63,7 @@
     setDocEnvVars :: !(Maybe (NonEmpty String)),
     setDocConfKeys :: !(Maybe (NonEmpty (NonEmpty String, JSONSchema))),
     setDocDefault :: !(Maybe String),
+    setDocExamples :: ![String],
     setDocMetavar :: !(Maybe Metavar),
     setDocHelp :: !(Maybe String)
   }
@@ -74,6 +75,7 @@
     optDocTryOption :: !Bool,
     optDocDasheds :: ![Dashed],
     optDocDefault :: !(Maybe String),
+    optDocExamples :: ![String],
     optDocMetavar :: !(Maybe Metavar),
     optDocHelp :: !(Maybe String)
   }
@@ -82,6 +84,7 @@
 data EnvDoc = EnvDoc
   { envDocVars :: !(NonEmpty String),
     envDocDefault :: !(Maybe String),
+    envDocExamples :: ![String],
     envDocMetavar :: !(Maybe Metavar),
     envDocHelp :: !(Maybe String)
   }
@@ -90,6 +93,7 @@
 data ConfDoc = ConfDoc
   { confDocKeys :: !(NonEmpty (NonEmpty String, JSONSchema)),
     confDocDefault :: !(Maybe String),
+    confDocExamples :: ![String],
     confDocHelp :: !(Maybe String)
   }
   deriving (Show)
@@ -189,6 +193,7 @@
           )
           <$> settingConfigVals
   let setDocDefault = snd <$> settingDefaultValue
+  let setDocExamples = settingExamples
   let setDocMetavar = settingMetavar
   let setDocHelp = settingHelp
   pure SetDoc {..}
@@ -210,7 +215,13 @@
 renderSetDocWithoutHeader :: SetDoc -> [[Chunk]]
 renderSetDocWithoutHeader SetDoc {..} =
   concat
-    [ [ unwordsChunks
+    [ [ defaultValueChunks dv
+        | dv <- maybeToList setDocDefault
+      ],
+      [ exampleValuesChunks setDocExamples
+        | not (null setDocExamples)
+      ],
+      [ unwordsChunks
           [ ["argument:"],
             [mMetavarChunk setDocMetavar]
           ]
@@ -531,6 +542,7 @@
       optDocTryOption = setDocTryOption
       optDocDasheds = setDocDasheds
       optDocDefault = setDocDefault
+      optDocExamples = setDocExamples
       optDocMetavar = setDocMetavar
       optDocHelp = setDocHelp
   pure OptDoc {..}
@@ -605,17 +617,20 @@
 
 renderOptDocLong :: OptDoc -> [[Chunk]]
 renderOptDocLong OptDoc {..} =
-  [ unwordsChunks $
-      concat
-        [ maybeToList $ dashedChunks optDocDasheds,
-          [ [ mMetavarChunk optDocMetavar
-            ]
-            | optDocTryArgument
-          ]
-        ],
-    [mHelpChunk optDocHelp],
-    unwordsChunks [defaultValueChunks d | d <- maybeToList optDocDefault]
-  ]
+  concat
+    [ [ unwordsChunks $
+          concat
+            [ maybeToList $ dashedChunks optDocDasheds,
+              [ [ mMetavarChunk optDocMetavar
+                ]
+                | optDocTryArgument
+              ]
+            ],
+        [mHelpChunk optDocHelp]
+      ],
+      [defaultValueChunks d | d <- maybeToList optDocDefault],
+      [exampleValuesChunks optDocExamples | not (null optDocExamples)]
+    ]
 
 parserEnvDocs :: Parser a -> AnyDocs EnvDoc
 parserEnvDocs = docsToEnvDocs . parserDocs
@@ -627,6 +642,7 @@
 setDocEnvDoc SetDoc {..} = do
   envDocVars <- setDocEnvVars
   let envDocDefault = setDocDefault
+  let envDocExamples = setDocExamples
   let envDocMetavar = setDocMetavar
   let envDocHelp = setDocHelp
   pure EnvDoc {..}
@@ -647,13 +663,17 @@
 
 renderEnvDoc :: EnvDoc -> [[Chunk]]
 renderEnvDoc EnvDoc {..} =
-  [ unwordsChunks
-      [ envVarChunksNE envDocVars,
-        [ mMetavarChunk envDocMetavar
-        ]
+  concat
+    [ [ unwordsChunks
+          [ envVarChunksNE envDocVars,
+            [ mMetavarChunk envDocMetavar
+            ]
+          ],
+        [mHelpChunk envDocHelp]
       ],
-    [mHelpChunk envDocHelp]
-  ]
+      [defaultValueChunks d | d <- maybeToList envDocDefault],
+      [exampleValuesChunks envDocExamples | not (null envDocExamples)]
+    ]
 
 parserConfDocs :: Parser a -> AnyDocs ConfDoc
 parserConfDocs = docsToConfDocs . parserDocs
@@ -665,6 +685,7 @@
 setDocConfDoc SetDoc {..} = do
   confDocKeys <- setDocConfKeys
   let confDocDefault = setDocDefault
+  let confDocExamples = setDocExamples
   let confDocHelp = setDocHelp
   pure ConfDoc {..}
 
@@ -691,13 +712,17 @@
 
 renderConfDoc :: ConfDoc -> [[Chunk]]
 renderConfDoc ConfDoc {..} =
-  [mHelpChunk confDocHelp]
-    : concatMap
-      ( \(key, schema) ->
-          case jsonSchemaChunkLines schema of
-            [line] ->
-              [[confValChunk key, ": "] ++ line]
-            ls ->
-              [confValChunk key, ":"] : indent ls
-      )
-      (NE.toList confDocKeys)
+  concat
+    [ [[mHelpChunk confDocHelp]],
+      [defaultValueChunks d | d <- maybeToList confDocDefault],
+      [exampleValuesChunks confDocExamples | not (null confDocExamples)],
+      concatMap
+        ( \(key, schema) ->
+            case jsonSchemaChunkLines schema of
+              [line] ->
+                [[confValChunk key, ": "] ++ line]
+              ls ->
+                [confValChunk key, ":"] : indent ls
+        )
+        (NE.toList confDocKeys)
+    ]
diff --git a/src/OptEnvConf/Output.hs b/src/OptEnvConf/Output.hs
--- a/src/OptEnvConf/Output.hs
+++ b/src/OptEnvConf/Output.hs
@@ -59,6 +59,12 @@
 defaultValueChunks :: String -> [Chunk]
 defaultValueChunks val = ["default: ", fore yellow $ chunk $ T.pack val]
 
+exampleValuesChunks :: [String] -> [Chunk]
+exampleValuesChunks vals = case vals of
+  [] -> []
+  [val] -> ["example: ", fore yellow $ chunk $ T.pack val]
+  _ -> ["examples: ", fore yellow $ chunk $ T.intercalate ", " $ map (T.pack . show) vals]
+
 mHelpChunk :: Maybe Help -> Chunk
 mHelpChunk = maybe (fore red "undocumented") helpChunk
 
