diff --git a/goodconf/__init__.py b/goodconf/__init__.py
index <HASH>..<HASH> 100644
--- a/goodconf/__init__.py
+++ b/goodconf/__init__.py
@@ -140,7 +140,7 @@ class GoodConf(metaclass=DeclarativeValuesMetaclass):
             if v.help:
                 lines.append('  {}  '.format(v.help))
             lines.append('  type: `{}`  '.format(v.cast_as.__name__))
-            if v.default:
+            if v.default is not None:
                 lines.append('  default: `{}`  '.format(v.default))
         return '\n'.join(lines)
 
diff --git a/tests/test_goodconf.py b/tests/test_goodconf.py
index <HASH>..<HASH> 100644
--- a/tests/test_goodconf.py
+++ b/tests/test_goodconf.py
@@ -153,6 +153,13 @@ def test_generate_markdown_no_docsttring():
     assert help_ in mkdn
 
 
+def test_generate_markdown_default_false():
+    class TestConf(GoodConf):
+        a = Value(default=False)
+
+    assert "False" in TestConf.generate_markdown()
+
+
 def test_undefined():
     c = GoodConf()
     with pytest.raises(AttributeError):
Make sure `default=False` shows in the docs