diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/RegisterSerializationClassesPass.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/RegisterSerializationClassesPass.php
index 6ed101b..154844d 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('format') as $id => $attributes) {
+      foreach ($attributes[0] 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 538f4d0..5a0df61 100644
--- a/core/modules/jsonld/lib/Drupal/jsonld/JsonldBundle.php
+++ b/core/modules/jsonld/lib/Drupal/jsonld/JsonldBundle.php
@@ -56,7 +56,11 @@ 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))
+        ->addTag('format', array(
+          'jsonld' => 'JSON-LD',
+          'drupal_jsonld' => 'Drupal JSON-LD',
+        ));
     }
 
     $container->register('jsonld.subscriber', 'Drupal\jsonld\EventSubscriber\JsonldSubscriber')
