# vercel blob

The `vercel blob` command is used to interact with [Vercel Blob](/docs/storage/vercel-blob) storage, providing functionality to upload, list, delete, and copy files, as well as manage Blob stores.

For more information about Vercel Blob, see the [Vercel Blob documentation](/docs/storage/vercel-blob) and [Vercel Blob SDK reference](/docs/storage/vercel-blob/using-blob-sdk).

## Usage

The `vercel blob` command supports the following operations:

- [`list`](#list-ls) - List all files in the Blob store
- [`put`](#put) - Upload a file to the Blob store
- [`del`](#del) - Delete a file from the Blob store
- [`copy`](#copy-cp) - Copy a file in the Blob store
- [`store add`](#store-add) - Add a new Blob store
- [`store remove`](#store-remove-rm) - Remove a Blob store
- [`store get`](#store-get) - Get a Blob store

For authentication, the CLI reads the `BLOB_READ_WRITE_TOKEN` value from your env file or you can use the [`--rw-token` option](#rw-token).

### list (ls)

```bash filename="terminal"
vercel blob list
```

### put

```bash filename="terminal"
vercel blob put [path-to-file]
```

### del

```bash filename="terminal"
vercel blob del [url-or-pathname]
```

### copy (cp)

```bash filename="terminal"
vercel blob copy [from-url-or-pathname] [to-pathname]
```

### store add

```bash filename="terminal"
vercel blob store add [name] [--region <region>]
```

### store remove (rm)

```bash filename="terminal"
vercel blob store remove [store-id]
```

### store get

```bash filename="terminal"
vercel blob store get [store-id]
```

## Unique Options

These are options that only apply to the `vercel blob` command.

### Rw token

You can use the `--rw-token` option to specify your Blob read-write token.

```bash filename="terminal"
vercel blob put image.jpg --rw-token [rw-token]
```

### Limit

You can use the `--limit` option to specify the number of results to return per page when using `list`. The default value is `10` and the maximum is `1000`.

```bash filename="terminal"
vercel blob list --limit 100
```

### Cursor

You can use the `--cursor` option to specify the cursor from a previous page to start listing from.

```bash filename="terminal"
vercel blob list --cursor [cursor-value]
```

### Prefix

You can use the `--prefix` option to filter Blobs by a specific prefix.

```bash filename="terminal"
vercel blob list --prefix images/
```

### Mode

You can use the `--mode` option to filter Blobs by either folded or expanded mode. The default is `expanded`.

```bash filename="terminal"
vercel blob list --mode folded
```

### Add Random Suffix

You can use the `--add-random-suffix` option to add a random suffix to the file name when using `put` or `copy`.

```bash filename="terminal"
vercel blob put image.jpg --add-random-suffix
```

### Pathname

You can use the `--pathname` option to specify the pathname to upload the file to. The default is the filename.

```bash filename="terminal"
vercel blob put image.jpg --pathname assets/images/hero.jpg
```

### Content Type

You can use the `--content-type` option to overwrite the content-type when using `put` or `copy`. It will be inferred from the file extension if not provided.

```bash filename="terminal"
vercel blob put data.txt --content-type application/json
```

### Cache Control Max Age

You can use the `--cache-control-max-age` option to set the `max-age` of the cache-control header directive when using `put` or `copy`. The default is `2592000` (30 days).

```bash filename="terminal"
vercel blob put image.jpg --cache-control-max-age 86400
```

### Force

You can use the `--force` option to overwrite the file if it already exists when uploading. The default is `false`.

```bash filename="terminal"
vercel blob put image.jpg --force
```

### Multipart

You can use the `--multipart` option to upload the file in multiple small chunks for performance and reliability. The default is `true`.

```bash filename="terminal"
vercel blob put large-file.zip --multipart false
```

### Region

You can use the `--region` option to specify the region where your Blob store should be created. The default is `iad1`. This option is only applicable when using the `store add` command.

```bash filename="terminal"
vercel blob store add my-store --region sfo1
```


--------------------------------------------------------------------------------
title: "vercel build"
description: "Learn how to build a Vercel Project locally or in your own CI environment using the vercel build CLI command."
last_updated: "2026-02-03T02:58:37.844Z"
source: "https://vercel.com/docs/cli/build"
--------------------------------------------------------------------------------