Skip to content
Last updated on June 6, 2023
3 min read

Vercel Blob

Vercel Blob allows you to upload and serve files via a global network through unique and unguessable URLs.

Note: Vercel Blob is currently in private beta. Sign up for the waitlist

Sign up

Vercel Blob is a great solution for storing blobs that need to be frequently read. Here are some examples suitable for Vercel Blob:

Files that are programmatically uploaded or generated at build time, for display and download such as avatars, screenshots, cover images and videos
Large files such as videos and audios to take advantage of the global network
Files that you would normally store in an external file storage solution like Amazon S3. With your project hosted on Vercel, you can readily access and manage these files via Vercel Blob

You can create and manage your Vercel Blob stores from your account dashboard. You can scope your Vercel Blob stores to your personal account or team, and connect them to as many projects as you want.

To get started, see our quickstart.

If you'd like to know whether or not Vercel Blob can be integrated into your workflow, it's worth knowing the following:

  • You can have one or more Vercel Blob stores per Vercel account
  • You can use multiple Vercel Blob stores in one Vercel project
  • Each Vercel Blob store can be accessed by multiple Vercel projects
  • Vercel Blob URLs are publicly accessible, created with an unguessable random id, and immutable
  • To add to or remove from the content of a Blob store, a valid token is required
  • Making a blob private is planned in an upcoming release

During the Beta phase, you will be able to upload a maximum of 4 MB if this is done through a web browser by using an Edge or Serverless Function.

If this is done in the back-end by using a script (for example, during the build step), there are no size limits.

Vercel Blob URLs, although publicly accessible, are unique and hard to guess. They are composed of a unique store id, a pathname and a unique random blob id generated when the blob is created.

Note: This is similar to Share a file publicly in Google Docs. You should ensure that the URLs are only shared to authorized users

Headers that enhance security by preventing unauthorized downloads, blocking external content from being embedded, and protecting against malicious file type manipulation, are enforced on each blob. They are:

  • Content-Disposition: attachment; filename="filename.extension"
  • Content-Security-Policy: default-src "none"
  • x-frame-options: DENY
  • x-content-type-options: nosniff