diff --git a/dist/js/dataModelController.js b/dist/js/dataModelController.js
index 0299b29d82f850c661a7a1fdbdb5bd4b19a94884..b071639c85af67fe7e2941572b10d5715ec55f34 100644
--- a/dist/js/dataModelController.js
+++ b/dist/js/dataModelController.js
@@ -89,4 +89,16 @@ app.controller('dataModelController', ['$scope', function ($scope) {
     $scope.selectDataModelKey = function(index) {
         $scope.datapoints[index].detailsVisible = !($scope.datapoints[index].detailsVisible);
     };
+
+    $scope.selectAllDataModelKeys = function() {
+        for( x in $scope.datapoints) {
+            $scope.datapoints[x].detailsVisible = true;
+        }
+    };
+
+    $scope.unselectAllDataModelKeys = function() {
+        for( x in $scope.datapoints) {
+            $scope.datapoints[x].detailsVisible = false;
+        }
+    };
 }]);
diff --git a/dist/views/dataModelView.html b/dist/views/dataModelView.html
index d4fd3f9f1964d7cdf26e89e1c7aaaee39caa3aef..4c27d1fb477e0caecaca4987da5008ef4e13c014 100644
--- a/dist/views/dataModelView.html
+++ b/dist/views/dataModelView.html
@@ -24,6 +24,7 @@
 
 <div class="analyzer-container">
     <div class="analyzer-content">
+        <div class="expand-collapse-links"><a ng-click="selectAllDataModelKeys()">Expand all</a> <a ng-click="unselectAllDataModelKeys()">Collapse all</a></div>
         <table class="data-model-table">
             <tbody>
                 <tr class="data-model-table-key-row"  ng-class='{selected: datapoint.detailsVisible}' ng-click="selectDataModelKey($index)" ng-repeat-start="datapoint in datapoints">
diff --git a/scss/main.scss b/scss/main.scss
index 2e61d5001e3794150dabdfbf9676d4116b0e6baf..20e35ccdc360b915b71786ee2c33168d20a1b1dd 100644
--- a/scss/main.scss
+++ b/scss/main.scss
@@ -7,6 +7,11 @@
 @import 'crossbrowser';
 @import "headroom-animate";
 
+a {
+    cursor: pointer;
+    cursor: hand;
+}
+
 .header {
     background-color: #f5f5f5;
     border-bottom: 1px solid #e5e5e5;
@@ -421,3 +426,15 @@ footer div {
 .data-model-table-key-row.selected td:last-child {
     display: none;
 }
+
+.expand-collapse-links {
+    margin-bottom: 5px;
+}
+
+.expand-collapse-links a {
+    margin-left: 10px;
+}
+
+.expand-collapse-links a:first-child {
+    margin-left: 0;
+}