diff --git a/docs/labwc-menu.5.scd b/docs/labwc-menu.5.scd
new file mode 100644
index 00000000..00b9758f
--- /dev/null
+++ b/docs/labwc-menu.5.scd
@@ -0,0 +1,37 @@
+labwc-menu(5)
+
+# NAME
+
+labwc - menu
+
+# DESCRIPTION
+
+Static menus are built based on content of XML files located at
+"~/.config/openbox" and equivalent XDG Base Directories.
+
+# SYNTAX
+
+A menu file must be entirely enclosed within and
+ tags. Inside these tags, menus are specified as follows:
+
+```
+
+```
+
+*menu.id*
+ Each menu must be given an id, which is a unique identifier of the menu.
+ This id is used to refer to the menu in a ShowMenu action.
+
+*menu.item.label*
+ The visible name of the menu item.
+
+*menu.item.action*
+ See labwc-action(5)
+
+# SEE ALSO
+
+labwc(1), labwc-action(5), labwc-config(5), labwc-theme(5)
diff --git a/docs/meson.build b/docs/meson.build
index 5555367e..58d12cf3 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -2,7 +2,7 @@ scdoc = find_program('scdoc', required: get_option('man-pages'))
if scdoc.found()
sh = find_program('sh', native: true)
- sections = ['.1', '-config.5', '-theme.5', '-actions.5']
+ sections = ['.1', '-config.5', '-theme.5', '-actions.5', '-menu.5']
foreach s : sections
markdown = 'labwc' + s + '.scd'
manpage = 'labwc' + s