---
title: "The Media module"
manual: "Getting Started"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3start:media-module@main"
source: "Concepts/Backend/MediaModule/Index.rst"
modified: "2026-09-15T08:44:38+00:00"
---

# The Media module

The **Media** module is where you can manage
all the [media and downloads](https://docs.typo3.org/permalink/t3start:media@main) associated with your TYPO3 website.

The Editors Guide describes how to
[manage media in the TYPO3 backend](https://docs.typo3.org/m/typo3/tutorial-editors/main/en-us/MediaModule/Index.html#managing-files-in-typo).

Do not store [assets](https://docs.typo3.org/permalink/t3start:assets@main) needed for your theme here. Store these in
the folder `Resources/Public` of your [site package](https://docs.typo3.org/permalink/t3start:creating-a-site-package@main)
or another [extension](https://docs.typo3.org/permalink/t3start:create-own-extension@main).

## Fileadmin - the default file storage

By default all media managed via the **Media** module is stored in the folder
`public/fileadmin`.

This folder is publicly accessible and it is possible for attackers to access
any file herein when they have or guess the correct path.

Third party extensions like [`leuchtfeuer/secure-downloads`](https://packagist.org/packages/leuchtfeuer/secure-downloads) can help
you if downloads should only be available to logged-in frontend users.

## File storages

It is possible to configure additional file storages, including private and
read-only ones. This topic is beyond the scope of this guide. It is explained in
TYPO3 Explained, chapter [File storages](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Fal/Administration/Storages.html#fal-administration-storages).

## File abstraction layer (FAL)

All media and download files managed in the **Media** module are managed via
an abstraction layer. You can find the documentation of this layer in TYPO3
Explained, chapter [File abstraction layer (FAL)](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Fal/Index.html#fal_introduction).

On uploading, each file gets a unique identifier assigned to
it. This identifier is used to link to files and also to attach metadata to
them.

This allows your editors to rename and move files without breaking the frontend.
It also allows to test whether a file is still being used on deletion and to
automatically delete unused media if desired.

However you can only use the full power of the FAL if you do not link directly
to files but only use the API to access them:

In Fluid link files using the
[Image ViewHelper \<f:image>](https://docs.typo3.org/other/typo3/view-helper-reference/main/en-us/Global/Image.html#typo3-fluid-image) with property
[image](https://docs.typo3.org/other/typo3/view-helper-reference/main/en-us/Global/Image.html#viewhelper-argument-typo3-cms-fluid-viewhelpers-imageviewhelper-image)
for images and the [Link.file ViewHelper \<f:link.file>](https://docs.typo3.org/other/typo3/view-helper-reference/main/en-us/Global/Link/File.html#typo3-fluid-link-file)
for download links.

In TypoScript the [typolink function with the file property](https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Functions/Typolink.html#typolink-handler-file)
can be used to link downloads.

For usage in PHP there is an API: [Working with files, folders and file
references](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Fal/UsingFal/ExamplesFileFolder.html#fal-using-fal-examples-file-folder)

> [!NOTE]
> Never link to a file in the fileadmin from CSS or JavaScript. Such files
> like logos, icons, background images, etc. should be stored as
> [Assets in extensions and site packages](https://docs.typo3.org/permalink/t3start:assets@main).

## File metadata

A number of metadata fields for media uploaded in the **Media** module are
available out-of-the-box. Additional metadata fields are available if the
system extension [`typo3/cms-filemetadata`](https://packagist.org/packages/typo3/cms-filemetadata) is installed.

For accessibility reasons, images should always have an alt text defined.
Editors can input an alt text either in the file metadata in the **Media** module
or override it in the file relation when they use an image in a content element.

By using the [Image ViewHelper \<f:image>](https://docs.typo3.org/other/typo3/view-helper-reference/main/en-us/Global/Image.html#typo3-fluid-image)
the alt text is automatically output unless you override it with property 'alt'.
