diff --git a/lib/Drupal/media_entity/Entity/MediaBundle.php b/lib/Drupal/media_entity/Entity/MediaBundle.php
index 774b0d9..f02abcf 100644
--- a/lib/Drupal/media_entity/Entity/MediaBundle.php
+++ b/lib/Drupal/media_entity/Entity/MediaBundle.php
@@ -33,6 +33,7 @@ use Drupal\media_entity\MediaInterface;
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label",
+ *     "type" = "type",
  *     "uuid" = "uuid"
  *   },
  *   links = {
@@ -64,6 +65,13 @@ class MediaBundle extends ConfigEntityBase implements MediaBundleInterface {
   public $label;
 
   /**
+   * The type of this media bundle.
+   *
+   * @var string
+   */
+  public $type;
+
+  /**
    * A brief description of this media bundle.
    *
    * @var string
@@ -79,6 +87,13 @@ class MediaBundle extends ConfigEntityBase implements MediaBundleInterface {
   }
 
   /**
+   * Returns the type of the media bundle.
+   */
+  public function type() {
+    return $this->type;
+  }
+
+  /**
    * {@inheritdoc}
    */
   public function postSave(EntityStorageInterface $storage_controller, $update = TRUE) {
diff --git a/lib/Drupal/media_entity/MediaBundleForm.php b/lib/Drupal/media_entity/MediaBundleForm.php
index 9fcdd04..f9e3227 100644
--- a/lib/Drupal/media_entity/MediaBundleForm.php
+++ b/lib/Drupal/media_entity/MediaBundleForm.php
@@ -50,6 +50,15 @@ class MediaBundleForm extends EntityForm {
       '#description' => t('A unique machine-readable name for this media bundle.'),
     );
 
+    $form['type'] = array(
+      '#title' => t('Type'),
+      '#type' => 'textfield',
+      '#default_value' => $bundle->type(),
+      '#description' => t('The type of this media bundle e.g. image, video, audio.'),
+      '#required' => TRUE,
+      '#size' => 30,
+    );
+
     $form['description'] = array(
       '#title' => t('Description'),
       '#type' => 'textarea',
