diff --git migrate_extras/isbn.inc migrate_extras/isbn.inc
new file mode 100644
index 0000000..c82b1bf
--- /dev/null
+++ migrate_extras/isbn.inc
@@ -0,0 +1,33 @@
+<?php
+
+/**
+ * Primary value passed to this field must be the ISBN number.
+ *
+ * @code
+ *   $this->addFieldMapping('field_isbn', 'isbn');
+ * @endcode
+ */
+class MigrateIsbnHandler extends MigrateFieldHandler {
+  public function __construct() {
+    $this->registerTypes(array('isbn'));
+  }
+
+  public function prepare($entity, array $field_info, array $instance, array $values) {
+    $arguments = array();
+    if (isset($values['arguments'])) {
+      $arguments = array_filter($values['arguments']);
+      unset($values['arguments']);
+    }
+    $language = $this->getFieldLanguage($entity, $field_info, $arguments);
+
+    // Setup the standard Field API array for saving.
+    $delta = 0;
+    foreach ($values as $value) {
+      $return[$language][$delta] = array('isbn' => $value) + array_intersect_key($arguments, $field_info['columns']);
+      $delta++;
+    }
+
+    return isset($return) ? $return : NULL;
+  }
+}
+
diff --git migrate_extras/migrate_extras.info migrate_extras/migrate_extras.info
index 03527b7..691da41 100644
--- migrate_extras/migrate_extras.info
+++ migrate_extras/migrate_extras.info
@@ -10,6 +10,7 @@ files[] = entity_api.inc
 files[] = flag.inc
 files[] = geofield.inc
 files[] = interval.inc
+files[] = isbn.inc
 files[] = media.inc
 files[] = name.inc
 files[] = pathauto.inc
