diff --git a/core/lib/Drupal/Core/CoreBundle.php b/core/lib/Drupal/Core/CoreBundle.php
index fb8218a..8263331 100644
--- a/core/lib/Drupal/Core/CoreBundle.php
+++ b/core/lib/Drupal/Core/CoreBundle.php
@@ -235,7 +235,9 @@ public function build(ContainerBuilder $container) {
     $container->register('serializer.normalizer.complex_data', 'Drupal\Core\Serialization\ComplexDataNormalizer')->addTag('normalizer');
     $container->register('serializer.normalizer.list', 'Drupal\Core\Serialization\ListNormalizer')->addTag('normalizer');
     $container->register('serializer.normalizer.typed_data', 'Drupal\Core\Serialization\TypedDataNormalizer')->addTag('normalizer');
-    $container->register('serializer.encoder.json', 'Drupal\Core\Serialization\JsonEncoder')->addTag('encoder');
+
+    $container->register('serializer.encoder.json', 'Drupal\Core\Serialization\JsonEncoder')
+      ->addTag('encoder', array('format' => array('json' => 'JSON')));
 
     $container->register('flood', 'Drupal\Core\Flood\DatabaseBackend')
       ->addArgument(new Reference('database'));
diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/RegisterSerializationClassesPass.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/RegisterSerializationClassesPass.php
index 6ed101b..04544d2 100644
--- a/core/lib/Drupal/Core/DependencyInjection/Compiler/RegisterSerializationClassesPass.php
+++ b/core/lib/Drupal/Core/DependencyInjection/Compiler/RegisterSerializationClassesPass.php
@@ -42,6 +42,15 @@ public function process(ContainerBuilder $container) {
     if (!empty($encoders)) {
       $definition->replaceArgument(1, $this->sort($encoders));
     }
+
+    // Find all serialization formats known.
+    $formats = array();
+    foreach ($container->findTaggedServiceIds('encoder') as $id => $attributes) {
+      foreach ($attributes['format'] as $name => $label) {
+        $formats[$name] = $label;
+      }
+    }
+    $container->setParameter('serializer.formats', $formats);
   }
 
   /**
diff --git a/core/modules/jsonld/lib/Drupal/jsonld/JsonldBundle.php b/core/modules/jsonld/lib/Drupal/jsonld/JsonldBundle.php
index 00f1433..176779a 100644
--- a/core/modules/jsonld/lib/Drupal/jsonld/JsonldBundle.php
+++ b/core/modules/jsonld/lib/Drupal/jsonld/JsonldBundle.php
@@ -63,7 +63,13 @@ public function build(ContainerBuilder $container) {
     // Add Encoders to service container.
     foreach ($encoders as $format => $encoder_class) {
       $container->register("serializer.encoder.{$format}", $encoder_class)
-        ->addTag('encoder', array('priority' => $priority));
+        ->addTag('encoder', array(
+          'priority' => $priority,
+          'format' => array(
+            'jsonld' => 'JSON-LD',
+            'drupal_jsonld' => 'Drupal JSON-LD',
+          ),
+        ));
     }
 
     $container->register('jsonld.subscriber', 'Drupal\jsonld\EventSubscriber\JsonldSubscriber')
