diff --git a/plugins/QuickNodeContent.inc b/plugins/QuickNodeContent.inc
diff --git a/plugins/QuickNodeContent.inc b/plugins/QuickNodeContent.inc
index 115e1c8..9630ecd 100644
--- a/plugins/QuickNodeContent.inc
+++ b/plugins/QuickNodeContent.inc
@@ -13,9 +13,26 @@ class QuickNodeContent extends QuickContent {
   public function optionsForm($delta, $qt) {
     $tab = $this->settings;
     $form = array();
+    $form['node']['selector'] = array(
+      '#type' => 'select',
+      '#title' => t('Select node by'),
+      '#options' => array(
+        'nid' => t('Node ID'),
+        'alias' => t('Alias'),
+      ),
+      '#default_value' => isset($tab['selector']) ? $tab['selector'] : '',
+    );
+    $form['node']['alias'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Node Alias'),
+      '#description' => t('The node alias (for example "foo/bar").'),
+      '#maxlength' => 100,
+      '#size' => 60,
+      '#default_value' => isset($tab['alias']) ? $tab['alias'] : '',
+    );
     $form['node']['nid'] = array(
       '#type' => 'textfield',
-      '#title' => t('Node'),
+      '#title' => t('Node ID'),
       '#description' => t('The node ID of the node.'),
       '#maxlength' => 10,
       '#size' => 20,
@@ -39,13 +56,22 @@ class QuickNodeContent extends QuickContent {
       return $this->rendered_content;
     }
     $item = $this->settings;
+
     if (!empty($args)) {
       // The args have been passed in from an ajax request.
       // The first element of the args array is the qt_name, which we don't need
       // for this content type.
       array_shift($args);
-      list($item['nid'], $item['teaser'], $item['hide_title']) = $args;
+      list($item['selector'], $item['alias'], $item['nid'], $item['teaser'], $item['hide_title']) = $args;
+    }
+
+    if (isset($item['selector']) && $item['selector'] == 'alias') {
+      $drupal_path = drupal_lookup_path('source', $item['alias']);
+      if (strpos($drupal_path, 'node') == 0) {
+        $item['nid'] = str_replace('node/', '', $drupal_path);
+      }
     }
+
     $output = array();
     if (isset($item['nid'])) {
       $node = node_load($item['nid']);
@@ -65,8 +91,8 @@ class QuickNodeContent extends QuickContent {
     }
     return $output;
   }
-  
+
   public function getAjaxKeys() {
-    return array('nid', 'teaser', 'hide_title');
+    return array('selector', 'alias', 'nid', 'teaser', 'hide_title');
   }
 }
