diff --git a/examples/docs/arrays.schema.md b/examples/docs/arrays.schema.md
index 82a53f06b3908fb5e58f2b3e17550c0aedeccb6e..2b9a7ead1e2d1ab416008c3d2be8963c351b692e 100644
--- a/examples/docs/arrays.schema.md
+++ b/examples/docs/arrays.schema.md
@@ -19,13 +19,13 @@ This is an example schema with examples for multiple array types and their const
 
 | Property | Type | Required | Defined by |
 |----------|------|----------|------------|
+| [boollist](#boollist) | `boolean[]` | Optional | Arrays (this schema) |
+| [coordinatelist](#coordinatelist) | `number[][]` | Optional | Arrays (this schema) |
+| [intlist](#intlist) | `integer[]` | Optional | Arrays (this schema) |
 | [list](#list) | `string[]` | Optional | Arrays (this schema) |
 | [listlist](#listlist) | `array[]` | Optional | Arrays (this schema) |
-| [stringlistlist](#stringlistlist) | `string[][]` | Optional | Arrays (this schema) |
-| [intlist](#intlist) | `integer[]` | Optional | Arrays (this schema) |
-| [boollist](#boollist) | `boolean[]` | Optional | Arrays (this schema) |
 | [numlist](#numlist) | `number[]` | Optional | Arrays (this schema) |
-| [coordinatelist](#coordinatelist) | `number[][]` | Optional | Arrays (this schema) |
+| [stringlistlist](#stringlistlist) | `string[][]` | Optional | Arrays (this schema) |
 
 ## list
 
diff --git a/examples/docs/complex.schema.md b/examples/docs/complex.schema.md
index 9c2ab3b5d633ec99e236b853ac2abd0057dadd89..a472feef4ada09706f63f27101d177c8171a566c 100644
--- a/examples/docs/complex.schema.md
+++ b/examples/docs/complex.schema.md
@@ -25,11 +25,11 @@ This is an example schema that uses types defined in other schemas.
 
 | Property | Type | Required | Defined by |
 |----------|------|----------|------------|
+| [and](#and) | complex | Optional | Complex References  (this schema) |
+| [or](#or) | complex | Optional | Complex References  (this schema) |
 | [refabstract](#refabstract) | complex | **Required** | Complex References  (this schema) |
-| [refnamed](#refnamed) | Simple | Optional | Complex References  (this schema) |
 | [reflist](#reflist) | Simple | Optional | Complex References  (this schema) |
-| [or](#or) | complex | Optional | Complex References  (this schema) |
-| [and](#and) | complex | Optional | Complex References  (this schema) |
+| [refnamed](#refnamed) | Simple | Optional | Complex References  (this schema) |
 | [xor](#xor) | complex | Optional | Complex References  (this schema) |
 
 ## refabstract
diff --git a/examples/docs/custom.schema.md b/examples/docs/custom.schema.md
index f6f7b4bef33275562dba895812feeff6a0f5f895..bfcdfc2e4f7c3bac0bd4f5b3f1b6abe4537c0dea 100644
--- a/examples/docs/custom.schema.md
+++ b/examples/docs/custom.schema.md
@@ -19,8 +19,8 @@ This is an extensible schema. It has `definitions`, that can be used in other sc
 
 | Property | Type | Required | Defined by |
 |----------|------|----------|------------|
-| [foo](#foo) | `string` | Optional | Custom (this schema) |
 | [bar](#bar) | `string` | Optional | Custom (this schema) |
+| [foo](#foo) | `string` | Optional | Custom (this schema) |
 
 ## foo
 
diff --git a/examples/docs/deepextending.schema.md b/examples/docs/deepextending.schema.md
index ab3f4bd1cdcf04ac3209ec18dd0483dc050f11a6..cf4a22cb71b21bdfcd86e1f2f1de33d27a6a41ad 100644
--- a/examples/docs/deepextending.schema.md
+++ b/examples/docs/deepextending.schema.md
@@ -27,9 +27,9 @@ This is an extending schema. It is extending another extending schema. It pulls
 | Property | Type | Required | Defined by |
 |----------|------|----------|------------|
 | [bar](#bar) | `string` | Optional | [Extensible](extensible.schema.md#bar) |
-| [id](#id) | `string` | Optional | [Definitions](definitions.schema.md#id) |
 | [baz](#baz) | `string` | Optional | [Extending](extending.schema.md#baz) |
 | [hey](#hey) | `string` | Optional | Deeply Extending (this schema) |
+| [id](#id) | `string` | Optional | [Definitions](definitions.schema.md#id) |
 
 ## bar
 
diff --git a/examples/docs/example.schema.md b/examples/docs/example.schema.md
index 53850857f9e8dd754101f150e8c8598ab72b7a7e..606cf64c1452252ef8d53fae3a17ee4ef440d52d 100644
--- a/examples/docs/example.schema.md
+++ b/examples/docs/example.schema.md
@@ -27,8 +27,8 @@ This is an example schema with examples. Too many examples? There can never be t
 
 | Property | Type | Required | Defined by |
 |----------|------|----------|------------|
-| [foo](#foo) | `string` | Optional | Example (this schema) |
 | [bar](#bar) | `string` | Optional | Example (this schema) |
+| [foo](#foo) | `string` | Optional | Example (this schema) |
 
 ## foo
 
diff --git a/examples/docs/examples.schema.md b/examples/docs/examples.schema.md
index 9b44b8d1e38a39816141efec0aeeaffd4500dd55..d1fc3195972d2c2b1cb65bcde55e1ee41cbae410 100644
--- a/examples/docs/examples.schema.md
+++ b/examples/docs/examples.schema.md
@@ -36,8 +36,8 @@ This is an example schema with *multiple* examples. Too many examples? There can
 
 | Property | Type | Required | Defined by |
 |----------|------|----------|------------|
-| [foo](#foo) | `string` | Optional | Examples (this schema) |
 | [bar](#bar) | `string` | **Required** | Examples (this schema) |
+| [foo](#foo) | `string` | Optional | Examples (this schema) |
 
 ## foo
 
diff --git a/examples/docs/extending.schema.md b/examples/docs/extending.schema.md
index bc33bdee6968019a6ca7b7dc76438f5982d5b7fb..e7ce068f62f2d9460f928f8ab80058416e52a9e9 100644
--- a/examples/docs/extending.schema.md
+++ b/examples/docs/extending.schema.md
@@ -26,8 +26,8 @@ This is an extending schema. It pulls `definitions` from other schemas.
 | Property | Type | Required | Defined by |
 |----------|------|----------|------------|
 | [bar](#bar) | `string` | Optional | [Extensible](extensible.schema.md#bar) |
-| [id](#id) | `string` | Optional | [Definitions](definitions.schema.md#id) |
 | [baz](#baz) | `string` | Optional | Extending (this schema) |
+| [id](#id) | `string` | Optional | [Definitions](definitions.schema.md#id) |
 
 ## bar
 
diff --git a/examples/docs/simpletypes.schema.md b/examples/docs/simpletypes.schema.md
index f395b04d53001bc9ab3b938b97b9d1c29ee05405..37f8deba8b716b0d8b4356782c3d1e010f85c52f 100644
--- a/examples/docs/simpletypes.schema.md
+++ b/examples/docs/simpletypes.schema.md
@@ -19,22 +19,22 @@ This is an example schema with examples for multiple types and their constraints
 
 | Property | Type | Required | Defined by |
 |----------|------|----------|------------|
-| [string_unconstrained](#string_unconstrained) | `string` | Optional | Simple Types (this schema) |
-| [string_length](#string_length) | `string` | Optional | Simple Types (this schema) |
-| [string_pattern](#string_pattern) | `string` | Optional | Simple Types (this schema) |
-| [string_pattern_noexample](#string_pattern_noexample) | `string` | Optional | Simple Types (this schema) |
-| [string_pattern_singleexample](#string_pattern_singleexample) | `string` | Optional | Simple Types (this schema) |
+| [integer_threes](#integer_threes) | `integer` | Optional | Simple Types (this schema) |
+| [interger_constrained](#interger_constrained) | `integer` | Optional | Simple Types (this schema) |
+| [interger_unconstrained](#interger_unconstrained) | `integer` | Optional | Simple Types (this schema) |
+| [number_constrained](#number_constrained) | `number` | Optional | Simple Types (this schema) |
+| [number_unconstrained](#number_unconstrained) | `number` | Optional | Simple Types (this schema) |
 | [string_date](#string_date) | `string` | Optional | Simple Types (this schema) |
 | [string_email](#string_email) | `string` | Optional | Simple Types (this schema) |
 | [string_hostname](#string_hostname) | `string` | Optional | Simple Types (this schema) |
 | [string_ipv4](#string_ipv4) | `string` | Optional | Simple Types (this schema) |
 | [string_ipv6](#string_ipv6) | `string` | Optional | Simple Types (this schema) |
+| [string_length](#string_length) | `string` | Optional | Simple Types (this schema) |
+| [string_pattern](#string_pattern) | `string` | Optional | Simple Types (this schema) |
+| [string_pattern_noexample](#string_pattern_noexample) | `string` | Optional | Simple Types (this schema) |
+| [string_pattern_singleexample](#string_pattern_singleexample) | `string` | Optional | Simple Types (this schema) |
+| [string_unconstrained](#string_unconstrained) | `string` | Optional | Simple Types (this schema) |
 | [string_uri](#string_uri) | `string` | Optional | Simple Types (this schema) |
-| [number_unconstrained](#number_unconstrained) | `number` | Optional | Simple Types (this schema) |
-| [interger_unconstrained](#interger_unconstrained) | `integer` | Optional | Simple Types (this schema) |
-| [interger_constrained](#interger_constrained) | `integer` | Optional | Simple Types (this schema) |
-| [number_constrained](#number_constrained) | `number` | Optional | Simple Types (this schema) |
-| [integer_threes](#integer_threes) | `integer` | Optional | Simple Types (this schema) |
 | [yesno](#yesno) | `boolean` | **Required** | Simple Types (this schema) |
 
 ## string_unconstrained
diff --git a/templates/md/properties.ejs b/templates/md/properties.ejs
index 3bd039a1a933be897047a2ac1538d52ce4bd3e64..e976efa3cc78ea26fb5c8a6deb35688bd81f3363 100644
--- a/templates/md/properties.ejs
+++ b/templates/md/properties.ejs
@@ -7,9 +7,11 @@
 # <%=title %> Properties
 
 
-
 | Property | Type | Required | Defined by |
 |----------|------|----------|------------|
-<%  _.forIn(props, (schema, property, object) => { %>
+<% _.keys(props).sort().forEach(property => {
+  const schema = props[property]; %>
 | [<%= property %>](#<%= property %>) | <%= schema.simpletype %> | <%= schema.required === true ? "**Required**" : "Optional" %> | <% if (schema.$oSchema) { %>[<%= schema.$oSchema.$linkVal %>](<%= schema.$oSchema.$linkPath %>#<%= property %>)<% } else { %><%= title %> (this schema)<% } %> |
-<% }); %>
\ No newline at end of file
+<%
+});
+%>
\ No newline at end of file