Neon Object Storage is S3-compatible object storage built into the Neon backend for apps and agents. Every branch gets its own isolated storage namespace. Use any AWS S3-compatible SDK or tool. Point it at your branch endpoint and authenticate with your Neon credential. No separate storage account or cloud credentials required.
During the beta, object storage is available in the AWS us-east-2 region only.
- Branches with your database. Each branch has its own view of storage. Test file uploads and deletions in preview branches without touching production data.
- Standard S3 SDKs. The AWS SDK for JavaScript, boto3, the AWS CLI, the Files SDK, and any other S3-compatible tool works out of the box.
- Two access modes.
privatebuckets require authentication for all operations.public_readbuckets allow anonymous reads with authenticated writes. - One credential system. The same Neon credential system used by AI Gateway and Functions.
Get started
Starter templates
The examples repository includes templates that use Neon Object Storage. Each declares its bucket in neon.ts and provisions it with neon deploy, which also injects the S3 credentials, so there are no secrets to copy. A couple to start with:
files-sdk is a standalone script that uploads local files to a public_read bucket with the Files SDK and its neon adapter, then prints presigned URLs. A minimal example of the storage API on its own:
neon bootstrap --template files-sdkai-sdk is a chat agent on a Neon Function that generates images, stores each one in a private bucket with the AWS S3 SDK, records its key and metadata in Postgres, and serves it back through a presigned URL. Shows object storage and the database branching together:
neon bootstrap --template ai-sdkNeed help?
Join our Discord Server to ask questions or see what others are doing with Neon. For paid plan support options, see Support.








