diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-85970-FileContentObject.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-85970-FileContentObject.rst
new file mode 100644
index 0000000000000000000000000000000000000000..07bfaaa94d522b78b7f487baa060105ed2791bc8
--- /dev/null
+++ b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-85970-FileContentObject.rst
@@ -0,0 +1,57 @@
+.. include:: ../../Includes.txt
+
+=========================================
+Deprecation: #85970 - FILE content object
+=========================================
+
+See :issue:`85970`
+
+Description
+===========
+
+The cObject FILE is mixing concerns (rendering an image, or dumping file contents), and
+rather became low-level since Fluid's rise in rendering Frontend.
+
+FILE shows an image if the file is jpg,jpeg,gif,png (but not SVG), and if has a
+different file ending, it will check if the file is less than 1MB, it will get its contents
+and output that. If the file is 1 byte bigger, nothing is done.
+Fluid offers more flexibility nowadays.
+
+Thus, cObject FILE will be removed in TYPO3 v10.
+
+
+Impact
+======
+
+Instances using the TypoScript cObject :typoscript:`FILE` will find PHP :php:`E_USER_DEPRECATED` errors for each usage.
+
+
+Affected Installations
+======================
+
+Instances using the TypoScript cObject :typoscript:`FILE`.
+
+
+Migration
+=========
+
+Use :typoscript:`IMAGE` to show images instead.
+
+For realising :typoscript:`TEMPLATE`, migrate to using :typoscript:`FLUIDTEMPLATE`. It comes with all
+the benefits Fluid offers.
+
+However due to the flexibility of custom cObject, an extension author could just re-implement
+the functionality in a custom extension within minutes.
+See this example for ext:frontend where the registration resides in :file:`ext_localconf.php`.
+
+.. codeblock:: php
+
+   $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects'] = array_merge(
+      $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects'],
+      [
+         'FILE' => \TYPO3\CMS\Frontend\ContentObject\FileContentObject::class,
+      ],
+   );
+
+
+.. index:: TypoScript, NotScanned
diff --git a/typo3/sysext/frontend/Classes/ContentObject/FileContentObject.php b/typo3/sysext/frontend/Classes/ContentObject/FileContentObject.php
index e370119a423b39ba1ff18225cae28567625cfb54..c2fae01da994194e82fd4532f7e662566edaac60 100644
--- a/typo3/sysext/frontend/Classes/ContentObject/FileContentObject.php
+++ b/typo3/sysext/frontend/Classes/ContentObject/FileContentObject.php
@@ -21,6 +21,7 @@ use TYPO3\CMS\Frontend\Resource\FilePathSanitizer;
 
 /**
  * Contains FILE class object.
+ * @deprecated FILE cObject will be removed in TYPO3 v10.0.
  */
 class FileContentObject extends AbstractContentObject
 {
@@ -32,6 +33,7 @@ class FileContentObject extends AbstractContentObject
      */
     public function render($conf = [])
     {
+        $this->getTypoScriptFrontendController()->logDeprecatedTyposcript('cObject FILE', 'Use IMAGE to show images instead.');
         $theValue = '';
         $file = isset($conf['file.']) ? $this->cObj->stdWrap($conf['file'], $conf['file.']) : $conf['file'];
         try {