The Block Protocol: A Universal Standard for Web Content Blocks

<h2 id="introduction">Introduction</h2><p>If you've used any modern web editor—whether for blogging, note-taking, or content management—you've likely encountered the block concept. Editors like WordPress, Notion, and Medium allow you to insert content as discrete blocks: paragraphs, images, videos, lists, and more. This modular approach simplifies content creation and makes it intuitive. But there's a catch: every platform implements blocks differently, forcing developers to rebuild the same blocks from scratch and locking users into a single ecosystem.</p><figure style="margin:20px 0"><img src="https://www.joelonsoftware.com/wp-content/uploads/2022/01/wordpressblocks.png" alt="The Block Protocol: A Universal Standard for Web Content Blocks" style="width:100%;height:auto;border-radius:8px" loading="lazy"><figcaption style="font-size:12px;color:#666;margin-top:5px">Source: www.joelonsoftware.com</figcaption></figure><h2 id="the-problem">The Problem: Fragmented Block Ecosystems</h2><p>The block interface has become nearly universal, with many editors adopting the <kbd>/</kbd> key to insert a new block. However, beyond this small convention, everything else is proprietary. Want a calendar block in your note-taking app? Or a Kanban board in your blog editor? You're out of luck unless the platform's developers built it themselves. This fragmentation harms end-users: they can only use blocks that a particular app supports, and they can't easily move blocks between different tools. As a result, users are limited to the features their chosen app provides, and developers are forced to repeatedly reinvent the wheel.</p><h2 id="the-solution">The Solution: The Block Protocol</h2><p>To address this, we've developed the <strong>Block Protocol</strong>—an open, free, and non-proprietary standard that allows any block to work in any compatible application. The protocol defines a simple interface between embedding applications (like editors) and blocks (like charts, forms, or videos). Once an app implements the protocol, it can embed any block that follows the same rules. Similarly, developers can build a block once and have it function across all compliant platforms. This approach dramatically reduces development effort and gives users access to a rich library of interchangeable blocks.</p><h3 id="how-it-works">How It Works</h3><p>The Block Protocol is a set of guidelines and APIs that enable communication between a host editor and a block. An early draft has been released, along with sample code for simple blocks and a basic editor. The goal is to foster an open-source community that builds a vast library of high-quality blocks, from standard paragraphs and lists to advanced interactive elements like order forms, calendars, and data visualizations.</p><figure style="margin:20px 0"><img src="https://www.joelonsoftware.com/wp-content/uploads/2016/12/11969842-1.jpg" alt="The Block Protocol: A Universal Standard for Web Content Blocks" style="width:100%;height:auto;border-radius:8px" loading="lazy"><figcaption style="font-size:12px;color:#666;margin-top:5px">Source: www.joelonsoftware.com</figcaption></figure><h2 id="what-can-be-a-block">What Can Be a Block?</h2><p>Almost anything that makes sense in a document or on the web can be a block:</p><ul><li><strong>Document elements:</strong> paragraphs, headings, lists, tables, diagrams</li><li><strong>Web interactions:</strong> order forms, calendars, embedded videos, maps</li><li><strong>Structured data tools:</strong> Kanban boards, spreadsheets, database viewers</li></ul><p>Blocks can even handle typed data, allowing users to interact with structured information directly within their content.</p><h2 id="call-to-action">Join the Movement</h2><p>If you work on any type of editor—blogging software, note-taking apps, CMS platforms, or anything in between—consider integrating the Block Protocol. By writing the embedding code just once, you can instantly support a huge variety of block types without extra development. Meanwhile, block developers can create a block once and reach every compatible app. The protocol is 100% free and open, and all reference implementations are open-source. Together, we can break down the walls between web editors and give users the flexibility they deserve.</p><p>Explore the <a href="https://blockprotocol.org">Block Protocol website</a> to learn more and start building blocks that work everywhere.</p>