diff --git a/core/modules/serialization/serialization.services.yml b/core/modules/serialization/serialization.services.yml
index 98a190b..4118774 100644
--- a/core/modules/serialization/serialization.services.yml
+++ b/core/modules/serialization/serialization.services.yml
@@ -99,3 +99,11 @@ services:
   serialization.link_manager.relation:
     class: Drupal\serialization\LinkManager\RelationLinkManager
     arguments: ['@cache.default', '@entity.manager', '@module_handler', '@config.factory', '@request_stack']
+  serializer.normalizer.uri_field_item:
+    class: Drupal\serialization\Normalizer\UriItemNormalizer
+    tags:
+      # Set the priority lower than the hal entity reference field item
+      # normalizer, so that we do not replace that for hal_json but higher than
+      # this modules generic field item normalizer.
+      # @todo Find a better way for this in https://www.drupal.org/node/2575761.
+      - { name: normalizer, priority: 8 }
diff --git a/core/modules/serialization/src/Normalizer/UriItemNormalizer.php b/core/modules/serialization/src/Normalizer/UriItemNormalizer.php
new file mode 100644
index 0000000..955a32d
--- /dev/null
+++ b/core/modules/serialization/src/Normalizer/UriItemNormalizer.php
@@ -0,0 +1,33 @@
+<?php
+
+namespace Drupal\serialization\Normalizer;
+
+use Drupal\Core\Field\Plugin\Field\FieldType\UriItem;
+
+/**
+ * Normalizer for URI field items.
+ *
+ * Adds direct download URL.
+ */
+class UriItemNormalizer extends FieldItemNormalizer {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $supportedInterfaceOrClass = UriItem::class;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function normalize($object, $format = NULL, array $context = array()) {
+    $data = parent::normalize($object, $format, $context);
+    /** @var \Drupal\Core\Field\Plugin\Field\FieldType\UriItem $object */
+    $url = file_create_url($object->get('value')->getValue());
+    // Only add the download url if it is not the same as the field item value.
+    if ($url !== $object->get('value')->getValue()) {
+      $data['url'] = $url;
+    }
+    return $data;
+  }
+
+}
