diff --git a/src/com/google/doclava/Doclava.java b/src/com/google/doclava/Doclava.java
index 79295fd..102c5c5 100644
--- a/src/com/google/doclava/Doclava.java
+++ b/src/com/google/doclava/Doclava.java
@@ -90,6 +90,7 @@
   public static HashSet<String> knownTags = new HashSet<String>();
   public static FederationTagger federationTagger = new FederationTagger();
   public static Set<String> showAnnotations = new HashSet<String>();
+  public static Set<String> hiddenPackages = new HashSet<String>();
   public static boolean includeDefaultAssets = true;
   private static boolean generateDocs = true;
   private static boolean parseComments = false;
@@ -209,6 +210,8 @@
         keepListFile = a[1];
       } else if (a[0].equals("-showAnnotation")) {
         showAnnotations.add(a[1]);
+      } else if (a[0].equals("-hidePackage")) {
+        hiddenPackages.add(a[1]);
       } else if (a[0].equals("-proguard")) {
         proguardFile = a[1];
       } else if (a[0].equals("-proofread")) {
@@ -580,6 +583,9 @@
     if (option.equals("-showAnnotation")) {
       return 2;
     }
+    if (option.equals("-hidePackage")) {
+      return 2;
+    }
     if (option.equals("-proguard")) {
       return 2;
     }
diff --git a/src/com/google/doclava/PackageInfo.java b/src/com/google/doclava/PackageInfo.java
index e997b27..02beaf7 100644
--- a/src/com/google/doclava/PackageInfo.java
+++ b/src/com/google/doclava/PackageInfo.java
@@ -143,7 +143,11 @@
    */
   public boolean hasHideComment() {
     if (mHiddenByComment == null) {
-      mHiddenByComment = comment().isHidden();
+      if (Doclava.hiddenPackages.contains(mName)) {
+        mHiddenByComment = true;
+      } else {
+        mHiddenByComment = comment().isHidden();
+      }
     }
     return mHiddenByComment;
   }
