diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d7_taxonomy_vocabulary.yml b/core/modules/migrate_drupal/config/install/migrate.migration.d7_taxonomy_vocabulary.yml
new file mode 100644
index 0000000..2791398
--- /dev/null
+++ b/core/modules/migrate_drupal/config/install/migrate.migration.d7_taxonomy_vocabulary.yml
@@ -0,0 +1,23 @@
+id: d7_taxonomy_vocabulary
+label: Drupal 7 taxonomy vocabularies
+migration_groups:
+  - Drupal 7
+source:
+  plugin: d7_taxonomy_vocabulary
+process:
+  vid:
+    -
+      plugin: machine_name
+      source: name
+    -
+      plugin: dedupe_entity
+      entity_type: taxonomy_vocabulary
+      field: vid
+      length: 32
+  label: name
+  name: name
+  description: description
+  hierarchy: hierarchy
+  weight: weight
+destination:
+  plugin: entity:taxonomy_vocabulary
diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/source/d7/Vocabulary.php b/core/modules/migrate_drupal/src/Plugin/migrate/source/d7/Vocabulary.php
new file mode 100644
index 0000000..47ae13f
--- /dev/null
+++ b/core/modules/migrate_drupal/src/Plugin/migrate/source/d7/Vocabulary.php
@@ -0,0 +1,60 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Plugin\migrate\source\d7\Vocabulary.
+ */
+
+namespace Drupal\migrate_drupal\Plugin\migrate\source\d7;
+
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase;
+
+/**
+ * Drupal 7 vocabularies source from database.
+ *
+ * @MigrateSource(
+ *   id = "d7_taxonomy_vocabulary",
+ * )
+ */
+ class Vocabulary extends DrupalSqlBase {
+
+/**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('taxonomy_vocabulary', 't')
+      ->fields('t', array(
+        'vid',
+        'name',
+        'description',
+        'hierarchy',
+        'weight',
+      ));
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    return array(
+      'vid' => $this->t('The vocabulary ID.'),
+      'name' => $this->t('The name of the vocabulary.'),
+      'description' => $this->t('The description of the vocabulary.'),
+      'hierarchy' => $this->t('The type of hierarchy allowed within the vocabulary. (0 = disabled, 1 = single, 2 = multiple)'),
+      'weight' => $this->t('The weight of the vocabulary.'),
+    );
+  }
+
+   /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['vid']['type'] = 'integer';
+    return $ids;
+  }
+
+
+
+}
