---
title: File List
description: A list of stored files with thumbnails, size and type, plus download and delete — driven by useFiles.
---

Lists the objects under a prefix. It lists on mount and on Refresh, and drops a row after its own delete — changes made elsewhere show up on the next refresh. Images get an inline thumbnail from a signed URL when the adapter can mint one, falling back to the gateway download proxy otherwise, so thumbnails work on every adapter. An image stored as `application/octet-stream` still gets one when its key has a raster image extension (`.png`, `.jpg`, `.gif`, `.webp`, `.avif`, `.bmp`).

<Component path="file-list/examples/file-list-basic" />

## Installation

<ComponentInstall name="file-list" />

## Usage

```tsx lineNumbers
import { useFiles } from "files-sdk/react";

import { FileList } from "@/components/files-sdk/file-list";

export function Browser() {
  const files = useFiles({ endpoint: "/api/files" });

  return <FileList files={files} prefix="docs/" />;
}
```

Delete and download both go through the same `files` instance you pass in, so ambient error state stays consistent; a failed delete or download is also shown above the list. The component owns its own list state (a `files.list()` call on mount) — for shared, cached listing bring [`useList`](/docs/ui/client/react#reactive-reads) instead.

## Props

<AutoTypeTable
  path="registry/files-sdk/file-list/file-list.tsx"
  name="FileListProps"
/>
