diff --git a/includes/nodeaccess_userreference.features.inc b/includes/nodeaccess_userreference.features.inc
new file mode 100644
index 0000000..62181a1
--- /dev/null
+++ b/includes/nodeaccess_userreference.features.inc
@@ -0,0 +1,84 @@
+<?php
+
+/**
+ * @file
+ * Features support for Node access user reference.
+ */
+
+/**
+ * Implements hook_features_export().
+ */
+function nodeaccess_userreference_features_export($data, &$export, $module_name = '') {
+  // Add nodeaccess_userreference module as a dependency.
+  $export['dependencies']['nodeaccess_userreference'] = 'nodeaccess_userreference';
+
+  // Ensure the modules that provide the fields with nodeaccess_userreferences
+  // are included as dependencies.
+  $pipe = array();
+  $export['features']['nodeaccess_userreference'] = array();
+  foreach ($data as $component) {
+    $export['features']['nodeaccess_userreference'][$component] = $component;
+    list($bundle_name, $field_name) = explode('-', $component);
+    $pipe['field'][] = "node-$bundle_name-$field_name";
+  }
+  return $pipe;
+}
+
+/**
+ * Implements hook_features_export_options().
+ */
+function nodeaccess_userreference_features_export_options() {
+  $options = array();
+  $instances = variable_get('nodeaccess_userreference', NULL);
+  foreach ($instances as $bundle => $fields) {
+    foreach ($fields as $field => $field_data) {
+      $identifier = "{$bundle}-{$field}";
+      $options[$identifier] = $identifier;
+    }
+  }
+  return $options;
+}
+
+/**
+ * Implements hook_features_export_render().
+ */
+function nodeaccess_userreference_features_export_render($module, $data) {
+  $code = array();
+  $code[] = '  $fields = array();';
+  $code[] = '';
+
+  foreach ($data as $name) {
+    list($bundle_name, $field_name) = explode('-', $name);
+    if ($field = nodeaccess_userreference_field_settings($bundle_name, $field_name)) {
+
+      $field_export = features_var_export($field, '  ');
+      $field_id = features_var_export($name);
+
+      $code[] = "  // Exported nodeaccess_userreference field: {$name}";
+      $code[] = "  \$fields[{$field_id}] = {$field_export};";
+      $code[] = "";
+    }
+  }
+
+  $code[] = '  return $fields;';
+  $code = implode("\n", $code);
+  return array('nodeaccess_userreference_defaults' => $code);
+}
+
+/**
+ * Implements hook_features_revert().
+ */
+function nodeaccess_userreference_features_revert($module = NULL) {
+  nodeaccess_userreference_features_rebuild($module);
+}
+
+/**
+ * Implements hook_features_rebuild().
+ */
+function nodeaccess_userreference_features_rebuild($module_name) {
+  $fields = module_invoke($module_name, 'nodeaccess_userreference_defaults');
+  foreach ($fields as $field => $settings) {
+    list($bundle_name, $field_name) = explode('-', $field);
+    nodeaccess_userreference_field_settings($bundle_name, $field_name, $settings);
+  }
+}
diff --git a/nodeaccess_userreference.module b/nodeaccess_userreference.module
index 9d0a314..a337544 100755
--- a/nodeaccess_userreference.module
+++ b/nodeaccess_userreference.module
@@ -575,4 +575,19 @@ function nodeaccess_userreference_node_in_field_view($data, $nids) {
   }
 
   return $result;
+}
+
+/**
+ * Implements hook_features_api().
+ */
+function nodeaccess_userreference_features_api() {
+  return array(
+    'nodeaccess_userreference' => array(
+      'name' => t('Node access user reference'),
+      'default_hook' => 'nodeaccess_userreference_defaults',
+      'default_file' => FEATURES_DEFAULTS_INCLUDED,
+      'feature_source' => TRUE,
+      'file' => drupal_get_path('module', 'nodeaccess_userreference') .'/includes/nodeaccess_userreference.features.inc',
+    ),
+  );
 }
\ No newline at end of file
