The Block Protocol: Unlocking Interoperable Web Components for Everyone

By

Introduction: The Rise of Block-Based Editors

If you’ve used any modern blogging platform, note-taking app, or content management system (CMS) in recent years, you’ve likely encountered the block-based editing paradigm. Instead of a single text field, these editors present a canvas where every element—a paragraph, image, video, or even a complex interactive widget—is a distinct block. Users add blocks by clicking a “+” button or, increasingly, typing the / key and selecting from a palette of options. This approach has become the de facto standard for intuitive content creation, yet behind the scenes lies a fundamental problem: each application implements its own proprietary block system, forcing developers to reinvent the wheel and locking users into a limited set of features.

The Block Protocol: Unlocking Interoperable Web Components for Everyone
Source: www.joelonsoftware.com

The Problem: Fragmented and Non-Interchangeable Blocks

As the number of block-based editors grows, so does the duplication of effort. Every time a new app wants to offer a calendar block, a Kanban board, or an image gallery, its developers must build that block from scratch—tailored exclusively to their editor. This means that:

End users, as a result, face a fragmented ecosystem. They must choose between features, not just tools. The promise of the block model—to empower creators with rich, flexible content—is undermined by proprietary silos.

The Solution: An Open, Universal Block Protocol

To break down these silos, we are introducing the Block Protocol—an open, free, and non-proprietary standard that enables blocks to work everywhere. The protocol defines a simple interface: any embedding application (be it a blog editor, note-taking app, or CMS) can host blocks that conform to the protocol, and any block built to the protocol can be embedded in any conforming host. No more reimplementation. No more lock-in.

How It Works

The Block Protocol is a lightweight specification for communication between a host application and a block. It handles:

By adhering to this protocol, a block becomes truly portable. A Kanban board developed for one editor can be dropped into another without modification. A video block with custom controls works identically in a blog, a wiki, or a project management tool.

Benefits for Developers and Users

The Block Protocol promises a virtuous cycle: app developers need only implement the embedding code once, then instantly gain access to a growing library of blocks. Block developers, in turn, create a single solution that reaches all users, regardless of their chosen platform. This dramatically reduces duplication and accelerates innovation.

The Block Protocol: Unlocking Interoperable Web Components for Everyone
Source: www.joelonsoftware.com

For end users, the payoff is even greater. They can choose any block they like from a vast, open ecosystem—not just what their editor vendor happens to support. Blocks become interchangeable, shareable, and upgradeable independently. The editor becomes a simple container; the blocks are the power.

What Can Be a Block? Practically Anything

The definition of a “block” under the protocol is intentionally broad. Some examples:

Because the protocol is extensible, new types can be added by the community. The only limit is what can be rendered in a web document.

Structured Data and Typed Blocks

One powerful aspect of the Block Protocol is its support for typed data. A block can declare that it works with a specific schema (e.g., “this calendar block accepts dates and events”). Hosts can then pass structured data to the block, and the block can return updated data. This opens the door to rich integration: imagine a database record being edited as a form block, or a spreadsheet row displayed as a kanban card.

Current Status and How to Get Involved

We have released a very early draft of the Block Protocol, along with a set of simple example blocks and a minimal editor that hosts them. The entire project is open-source, with sample code available on GitHub. Our goal is to foster a community that builds a comprehensive open-source library of blocks—everyone can contribute, from individual developers to large organizations.

Call to Action

If you develop any kind of editor—blogging tool, note-taking app, CMS, or custom web application—we invite you to adopt the Block Protocol. Write the embedding code once, and your users will instantly gain access to all blocks built to the standard. If you build blocks, create them once and publish them for any compatible host.

Together, we can make the web truly interoperable, one block at a time.

Learn more about the fragmentation problem | Dive into the protocol details | Contribute to the community

Tags:

Related Articles

Recommended

Discover More

Ubuntu Twitter Hack Follows DDoS Storm: Fake AI Agent Lures Users to Crypto TrapASUS ROG RAIKIRI II Controller: Linux Support and Key Features Explained8 Essential Updates for NVIDIA GPU Compilation with Rust 1.9710 Insights into the Web's Structure Problem and How the Block Protocol Offers a SolutionBuilding Interactive Conference Assistants with .NET's Composable AI Stack: A Practical Walkthrough