
What Is a Blob? Definition, Bluesky Usage & FAQ (2026)
Published: 8/20/2026
What Is a Blob? (Direct Definition)
A blob stands for Binary Large Object. It's a collection of raw binary data stored as a single entity inside a database or file system. The system holding that data doesn't need to understand what's inside it; it simply reads and writes raw bytes as an opaque unit. You can read a thorough breakdown of what this means at a data level in our article on What is BLOB Data.
In general computing, blobs are the standard way to store unstructured data. Think images, audio clips, video recordings, and PDF documents. None of these fit neatly into a traditional relational database column built for integers or short strings, so systems store them as blobs instead. The Cloud Security Alliance describes a blob as any data that exists in a raw, binary form without an inherent schema, which is why the term appears across so many different technologies.
On Bluesky and the AT Protocol that powers it, a blob has a specific meaning: it's any binary media file you upload and attach to a post, profile picture, or banner. When Bluesky handles your photo or GIF, it stores that file separately from the structured post record (which holds your text, timestamp, and metadata). Each blob gets a unique content identifier (CID) that the post record references. The MDN Web Docs Blob interface shows how this same concept carries across web APIs: raw, untyped binary data referenced by identifier rather than stored inline.
In short: a blob (Binary Large Object) is raw binary data stored as a single unit. On Bluesky, it refers to any uploaded media file, such as an image or video, attached to a post or profile.
How Blobs Work in Computing and on Bluesky
Blobs in Traditional Computing and Cloud Storage
The blob concept appears throughout computing precisely because databases and file systems need a way to handle data they don't have to parse. A relational database column can hold a number or a short string, but it can't efficiently store a 4K video. Blob storage solves this by treating the file as an opaque sequence of bytes.
Major cloud platforms have built entire services around this model. Microsoft Azure Blob Storage is designed specifically to handle massive volumes of unstructured data, including images, backups, log files, and media for streaming. Cloudflare's blob storage documentation explains the same principle: blob storage decouples the data from any need to understand its format, which is what makes it so flexible at scale.
In browser environments, the JavaScript Blob interface documented by MDN represents immutable raw data. Browsers use it constantly, whether you're uploading a profile picture, previewing an image before it sends, or handling media streaming. The blob exists in memory as raw bytes before it ever reaches a server.
Git uses the term separately but consistently. A Git blob object stores the contents of a file at a specific commit without caring what kind of file it is. A quick Reddit ELI5 thread on Git blob objects illustrates how this maps to the same core idea: raw, uninterpreted binary data stored as a unit. The Cloud Security Alliance's breakdown confirms the term is consistent across all these contexts.
How Blobs Work on Bluesky's AT Protocol
Bluesky handles blobs through a two-step process defined in the AT Protocol. First, you (or your client app) upload the binary file to the com.atproto.repo.uploadBlob endpoint. The server returns a blob reference object that includes a CID (Content Identifier) derived from the file's actual content, plus the MIME type. That reference is then embedded inside the structured record, such as app.bsky.feed.post for a post or app.bsky.actor.profile for a profile.
This two-step approach matters for developers. Skipping the upload step and trying to reference a blob that hasn't been uploaded results in broken media inside the post or profile record. The Bluesky Project Tools & Resources Guide covers the broader landscape of AT Protocol development resources if you're building on the platform. For developers discovering tools in the ecosystem, the Bluesky Directory (blueskydirectory.com) offers a curated list of apps and utilities that may include blob-handling clients and libraries.
Because blobs are content-addressed, the CID is derived directly from the file's bytes. Two identical images always produce the same CID, which helps prevent redundant storage and makes integrity verification straightforward.
Blob Size Limits and Supported File Types
Bluesky enforces a 1 MB maximum blob size for images attached to posts as of 2026, defined in the AT Protocol's Lexicon schemas. Profile images and banners carry their own separate size constraints set by their respective Lexicon record types. Upload a file that exceeds the limit and the PDS will reject it with an error before it can be attached.
For image blobs, the supported MIME types are: image/jpeg, image/png, image/gif, and image/webp. Any other format gets rejected at upload. This is relevant when you think about content types on the platform. Questions like does Bluesky allow NSFW content and can Bluesky do polls are related to how the platform handles different kinds of content and records, all of which interact with the blob system when media is involved.
Decentralised Storage and Data Portability
One of the most meaningful differences between Bluesky's blob approach and centralised platforms is where the files actually live. On Instagram or Twitter/X, your media uploads to their servers and stays there permanently under their control. On Bluesky, blobs are stored on your Personal Data Server (PDS), which can be run by Bluesky or by any compatible third-party host.
If you migrate your account to a different PDS, your blobs should migrate with your repository. That's meaningful data portability that centralised platforms don't offer. The AT Protocol's decentralised design means blobs are stored on a user's PDS and can travel with the user's account, keeping your media history intact regardless of which hosting provider you choose.
Frequently Asked Questions About Blobs
What is a blob on Bluesky?
A blob is a binary media file, such as an image or GIF, uploaded to and stored on a user's AT Protocol Personal Data Server, then referenced inside a post or profile record. When you attach a photo to a Bluesky post, the platform first uploads that image as a blob. The upload returns a blob reference with a unique Content Identifier (CID) and MIME type, and that reference gets embedded in your post record. The binary file itself is held separately from your text and metadata.
This is quite different from how other Bluesky features work. For context on how the platform structures other kinds of data, see our articles on What are Bluesky Lists and What is a Handle on Bluesky. You'll find more definition-style answers across the Bluesky FAQ hub.
What is a blob file in general computing?
A blob file is any file stored as raw binary data that a system treats as an opaque sequence of bytes without parsing its internal structure. Common examples include JPEGs, MP4 video files, MP3 audio files, and PDFs. The MDN documentation on the Blob interface and the Cloud Security Alliance's BLOB explainer both confirm this definition applies across databases, cloud storage, and web APIs.
How big can a blob be on Bluesky?
The AT Protocol enforces a 1 MB maximum size for image blobs attached to posts. Profile images and banners may have separate limits defined by their Lexicon record types. Exceeding the size limit causes the PDS to reject the upload with an error, and the media won't attach to your post or profile.
Can blobs be deleted on Bluesky?
Yes. Deleting the record that references a blob (such as a post or profile update) makes that blob unreferenced. Once no active records point to it, the hosting PDS can garbage-collect it and remove it from storage. The timing depends on how the specific PDS implementation handles cleanup, so unreferenced blobs may persist temporarily before removal.
What file types are supported as blobs on Bluesky?
Bluesky supports four MIME types for image blobs: image/jpeg, image/png, image/gif, and image/webp. Files with any other MIME type will be rejected at upload. Video blob support is governed by separate Lexicon definitions and is evolving as Bluesky expands its media capabilities.
How is Bluesky's blob storage different from other social platforms?
On centralised platforms, your media sits on their servers under their control. On Bluesky, blobs live on your Personal Data Server and travel with your account if you migrate to a different PDS host. That's the core difference: meaningful ownership and portability of your media, rather than permanent dependence on a single platform's infrastructure.
If you're building a presence on Bluesky and want your content to reach the right audience, BluePilot offers AI-powered audience growth tools designed specifically for the platform. Sign up for free and start building a relevant, organic following today.