diff --git a/title.admin.inc b/title.admin.inc
index 743a46c..65cc4fb 100644
--- a/title.admin.inc
+++ b/title.admin.inc
@@ -83,6 +83,27 @@ function title_admin_settings_form() {
     '#type' => 'vertical_tabs',
   );
 
+  $form['settings']['title_general'] = array(
+    '#type' => 'fieldset',
+    '#collapsible' => TRUE,
+    '#collapsed' => TRUE,
+    '#tree' => TRUE,
+    '#group' => 'tabs',
+    '#title' => t('General'),
+  );
+
+  $general = variable_get('title_general', array('maxlength' => 255));
+  $form['settings']['title_general']['maxlength'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Default maximum field length'),
+    '#description' => t('The default maximum length for the title field. ' .
+        'This setting will have no effect once a title field for a specific entity type ' .
+        'has been created, because the maximum field length is a global field setting and the ' .
+        'databases tables will already have been created with a specific length.'),
+    '#element_validate' => array('element_validate_integer_positive'),
+    '#default_value' => $general['maxlength'],
+  );
+
   foreach (entity_get_info() as $entity_type => $info) {
     if (empty($info['field replacement'])) {
       continue;
diff --git a/title.core.inc b/title.core.inc
index ef8a2a0..dd55d1a 100644
--- a/title.core.inc
+++ b/title.core.inc
@@ -12,10 +12,15 @@
 function title_entity_info() {
   $info = array();
 
+  $general_settings = variable_get('title_general', array('maxlength' => 255));
+
   $field = array(
     'type' => 'text',
     'cardinality' => 1,
     'translatable' => TRUE,
+    'settings' => array(
+        'max_length' => $general_settings['maxlength'],
+    ),
   );
 
   $instance = array(
