diff --git a/widgets.admin.inc b/widgets.admin.inc
index 13999ce..ab1c324 100644
--- a/widgets.admin.inc
+++ b/widgets.admin.inc
@@ -76,6 +76,7 @@ function widgets_set_form($form, &$form_state, $set) {
       '#title' => t('Widget set name'),
       '#markup' => $set['name'],
       '#description' => t('This widget set is being provided by %module module and may not be renamed.', array('%module' => $set['module'])),
+      '#maxlength' => 30,
     );
   }
   else {
@@ -87,6 +88,7 @@ function widgets_set_form($form, &$form_state, $set) {
       '#description' => t('The name is used as the identifier for generating the widget set. Use only lowercase alphanumeric characters, underscores (_), and hyphens (-).'),
       '#element_validate' => array('widgets_set_name_validate'),
       '#required' => TRUE,
+      '#maxlength' => 30,
     );
   }
   
@@ -444,6 +446,7 @@ function widgets_set_add_form($form, &$form_state) {
     '#description' => t('The name is used to identify the widget set in blocks, tokens and other displays. Use only lowercase alphanumeric characters, underscores (_), and hyphens (-).'),
     '#element_validate' => array('widgets_set_name_validate'),
     '#required' => TRUE,
+    '#maxlength' => 30,
   );
 
   $form['submit'] = array(
@@ -1260,4 +1263,4 @@ function theme_widgets_definition_list($variables) {
   }
 
   return theme('table', array('header' => $header, 'rows' => $rows));
-}
\ No newline at end of file
+}
