diff --git a/help_test.go b/help_test.go
index 33f67a3..33d21bf 100644
--- a/help_test.go
+++ b/help_test.go
@@ -22,6 +22,7 @@
 	EnvDefault2       string            `long:"env-default2" env:"ENV_DEFAULT" description:"Test env-default2 value"`
 	OptionWithArgName string            `long:"opt-with-arg-name" value-name:"something" description:"Option with named argument"`
 	OptionWithChoices string            `long:"opt-with-choices" value-name:"choice" choice:"dog" choice:"cat" description:"Option with choices"`
+	Hidden            string            `long:"hidden" description:"Hidden option" hidden:"yes"`
 
 	OnlyIni string `ini-name:"only-ini" description:"Option only available in ini"`
 
@@ -30,8 +31,13 @@
 		IntMap      map[string]int `long:"intmap" default:"a:1" description:"A map from string to int" ini-name:"int-map"`
 	} `group:"Other Options"`
 
+	HiddenGroup struct {
+		InsideHiddenGroup string `long:"inside-hidden-group" description:"Inside hidden group"`
+	} `group:"Hidden group" hidden:"yes"`
+
 	Group struct {
-		Opt string `long:"opt" description:"This is a subgroup option"`
+		Opt               string `long:"opt" description:"This is a subgroup option"`
+		HiddenInsideGroup string `long:"hidden-inside-group" description:"Hidden inside group" hidden:"yes"`
 
 		Group struct {
 			Opt string `long:"opt" description:"This is a subsubgroup option"`
@@ -42,6 +48,10 @@
 		ExtraVerbose []bool `long:"extra-verbose" description:"Use for extra verbosity"`
 	} `command:"command" alias:"cm" alias:"cmd" description:"A command"`
 
+	HiddenCommand struct {
+		ExtraVerbose []bool `long:"extra-verbose" description:"Use for extra verbosity"`
+	} `command:"hidden-command" description:"A hidden command" hidden:"yes"`
+
 	Args struct {
 		Filename string `positional-arg-name:"filename" description:"A filename"`
 		Number   int    `positional-arg-name:"num" description:"A number"`
diff --git a/ini_private.go b/ini_private.go
index 887aa76..45434ec 100644
--- a/ini_private.go
+++ b/ini_private.go
@@ -83,7 +83,7 @@
 	comments := (options & IniIncludeComments) != IniNone
 
 	for _, option := range group.options {
-		if option.isFunc() {
+		if option.isFunc() || option.Hidden {
 			continue
 		}
 
@@ -186,12 +186,18 @@
 
 func writeCommandIni(command *Command, namespace string, writer io.Writer, options IniOptions) {
 	command.eachGroup(func(group *Group) {
-		writeGroupIni(command, group, namespace, writer, options)
+		if !group.Hidden {
+			writeGroupIni(command, group, namespace, writer, options)
+		}
 	})
 
 	for _, c := range command.commands {
 		var nns string
 
+		if c.Hidden {
+			continue
+		}
+
 		if len(namespace) != 0 {
 			nns = c.Name + "." + nns
 		} else {
diff --git a/man.go b/man.go
index 5529d92..8e4a8b7 100644
--- a/man.go
+++ b/man.go
@@ -38,7 +38,7 @@
 
 func writeManPageOptions(wr io.Writer, grp *Group) {
 	grp.eachGroup(func(group *Group) {
-		if grp.Hidden {
+		if group.Hidden {
 			return
 		}
 
