Index: lib/Format/Format.cpp
===================================================================
--- lib/Format/Format.cpp	(revision 181157)
+++ lib/Format/Format.cpp	(working copy)
@@ -52,6 +52,7 @@
   LLVMStyle.PenaltyExcessCharacter = 1000000;
   LLVMStyle.PenaltyReturnTypeOnItsOwnLine = 75;
   LLVMStyle.AlignEscapedNewlinesLeft = false;
+  LLVMStyle.IndentationWidth = 2;
   return LLVMStyle;
 }
 
@@ -73,6 +74,7 @@
   GoogleStyle.PenaltyExcessCharacter = 1000000;
   GoogleStyle.PenaltyReturnTypeOnItsOwnLine = 200;
   GoogleStyle.AlignEscapedNewlinesLeft = true;
+  GoogleStyle.IndentationWidth = 2;
   return GoogleStyle;
 }
 
@@ -83,6 +85,7 @@
   ChromiumStyle.BinPackParameters = false;
   ChromiumStyle.Standard = FormatStyle::LS_Cpp03;
   ChromiumStyle.DerivePointerBinding = false;
+  ChromiumStyle.IndentationWidth = 2;
   return ChromiumStyle;
 }
 
@@ -331,7 +334,7 @@
     if (Newline) {
       unsigned WhitespaceStartColumn = State.Column;
       if (Current.is(tok::r_brace)) {
-        State.Column = Line.Level * 2;
+        State.Column = Line.Level * Style.IndentationWidth;
       } else if (Current.is(tok::string_literal) &&
                  State.StartOfStringLiteral != 0) {
         State.Column = State.StartOfStringLiteral;
@@ -1137,7 +1140,7 @@
       return IndentForLevel[Level];
     if (Level == 0)
       return 0;
-    return getIndent(IndentForLevel, Level - 1) + 2;
+    return getIndent(IndentForLevel, Level - 1) + Style.IndentationWidth;
   }
 
   /// \brief Get the offset of the line relatively to the level.
Index: include/clang/Format/Format.h
===================================================================
--- include/clang/Format/Format.h	(revision 181157)
+++ include/clang/Format/Format.h	(working copy)
@@ -95,6 +95,9 @@
   /// \brief If \c true, aligns escaped newlines as far left as possible.
   /// Otherwise puts them into the right-most column.
   bool AlignEscapedNewlinesLeft;
+
+  /// \breif Indentation width in number of spaces
+  unsigned IndentationWidth;
 };
 
 /// \brief Returns a format style complying with the LLVM coding standards:
Index: tools/clang-format/ClangFormat.cpp
===================================================================
--- tools/clang-format/ClangFormat.cpp	(revision 181157)
+++ tools/clang-format/ClangFormat.cpp	(working copy)
@@ -38,12 +38,16 @@
     "style",
     cl::desc("Coding style, currently supports: LLVM, Google, Chromium."),
     cl::init("LLVM"));
+
 static cl::opt<bool> Inplace("i",
                              cl::desc("Inplace edit <file>s, if specified."));
 
 static cl::opt<bool> OutputXML(
     "output-replacements-xml", cl::desc("Output replacements as XML."));
 
+static cl::opt<unsigned>
+IndentationWidth("iw", cl::desc("Overrides style indentation width"));
+
 static cl::list<std::string> FileNames(cl::Positional,
                                        cl::desc("[<file> ...]"));
 
@@ -65,6 +69,16 @@
     TheStyle = getLLVMStyle();
   if (Style == "Chromium")
     TheStyle = getChromiumStyle();
+
+  // Override style indentation width
+  if (IndentationWidth) {
+    TheStyle.IndentationWidth = IndentationWidth;
+
+    // Funky adjustment to the AccessModifierOffset
+    //  should maybe be another option.
+    TheStyle.AccessModifierOffset *= IndentationWidth / 2;
+  }
+
   return TheStyle;
 }
 
