# Files

The **Files** page is where you manage all uploaded media in your store — product images, logos, banners, and any other files. From here you can browse, search, upload, and delete files.

Open **Files** in the admin sidebar to get started.

## Browsing your files

The file list displays every uploaded file in a table with a thumbnail preview, filename, type, size, and upload date.

![Files list](/features/files/files-list.png)

| Column      | Description                                                        |
| ----------- | ------------------------------------------------------------------ |
| Preview     | Thumbnail of the file (images show the actual image)               |
| Filename    | The stored file name (click the copy icon to copy the file's link) |
| Link        | Copy the file URL or open it in a new tab                          |
| Type        | File category — Image, Video, Audio, PDF, or Document              |
| Size        | File size in human-readable format (KB, MB)                        |
| Uploaded At | Date the file was uploaded                                         |

You can **sort** by clicking the Filename, Size, or Uploaded At column headers, and **search** by typing in the search bar at the top. Use the **Filter** button to narrow results by file type.

## Uploading files

Click the **Upload Files** button in the top-right corner to open the upload dialog. You can drag and drop files or click to browse your computer. Multiple files can be uploaded at once.

Supported formats include images (PNG, JPEG, SVG, WebP), videos, audio, PDFs, and other common document types.

> **Important:** Images are limited to **5 MB** per file. Uploaded images are automatically pre-processed — optimized and resized — to reduce their file size, ensuring your pages load faster and boosting your SEO rankings.

## Bulk actions

Select one or more files using the checkboxes on the left, then use the bulk actions bar that appears at the bottom:

- **Delete** — permanently remove selected files (a confirmation dialog will appear)

## Per-file actions

Click the **...** menu on any row to access individual file actions:

- **Delete** — permanently remove this file

> **Important:** Deleting a file is permanent and cannot be undone. If the file is used by a product, collection, or page section, those references will break.

## Storage modes

Capyshop supports two storage backends for uploaded assets, selected at deploy time via the `ASSETS_STORAGE_MODE` environment variable.

- **Local (default)** — files are written to `data/files/` inside the application container and served directly by the app. Image variants are generated on the fly and cached in `data/files/.cache/`.
- **S3** — files are uploaded to an S3-compatible bucket (AWS S3, Cloudflare R2, Backblaze B2, MinIO, etc.) and served from a CDN. When you upload a new image, optimized WebP variants at common widths (200/400/600/800/1200) are pre-generated and stored alongside the original, so the storefront serves correctly-sized images without any runtime conversion.

An optional `ASSETS_MAX_BYTES` setting caps the cumulative storage footprint across both modes — useful for keeping bucket bills predictable on shared hosting. Per-upload caps (5 MB image / 50 MB video) are independent of this setting.

See [Docker Deployment](/docker-deployment#optional-s3-asset-storage) for the full list of S3 environment variables and the one-shot script for migrating an existing local-mode store to S3.
