---
title: "Deprecation: #85970 - FILE content object"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-85970"
source: "Changelog/9.5/Deprecation-85970-FileContentObject.rst"
typo3-version: "9.5"
typo3-major: 9
type: "deprecation"
issue: 85970
forge: "https://forge.typo3.org/issues/85970"
tags: ["TypoScript", "NotScanned"]
rendered: "2026-09-17T21:17:42+00:00"
---

# Deprecation: #85970 - FILE content object {#deprecation-85970-file-content-object}

See [forge#85970](https://forge.typo3.org/issues/85970)

## Description {#description}

The cObject `FILE` mixed 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). If a
different file ending is detected, it will check if the file is less than 1MB, and 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 {#impact}

Instances using the TypoScript cObject `FILE` will find PHP `E_USER_DEPRECATED` errors for each usage.

## Affected Installations {#affected-installations}

Instances using the TypoScript cObject `FILE`.

## Migration {#migration}

Use `IMAGE` to show images instead.

For realising `TEMPLATE`, migrate to using `FLUIDTEMPLATE`. It comes with all
the benefits Fluid offers.

However due to the flexibility of custom cObjects, 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 `ext_localconf.php`.

```php
$GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects'] = array_merge(
   $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects'],
   [
      'FILE' => \TYPO3\CMS\Frontend\ContentObject\FileContentObject::class,
   ],
);
```
