A powerful new protocol for developers

Build and use interactive blocks connected to the world of structured data

An open standard for building and using data-driven blocks. Make your applications both human and machine-readable.

Read the Quickstart Guide

Embed any block anywhere on the web, using data from any source

Easily move data between applications without wrestling with APIs and custom integrations. View it any way you like in interactive blocks.

What do you mean by ‘blocks’?

Blocks are individual pieces of content on the web – images, text, videos, checklists, and kanban boards are all examples of blocks.

You’ve seen these around the web. They’re used in almost every modern web application

Usually these blocks and the data they contain are confined to single apps and websites

You can’t easily move data from a to-do list on one website into a kanban board on another.

Unless you want to manually copy-paste it, or another developer has built the API integration for you.

Blocks created using the Block Protocol can easily move between apps

These blocks use structured data which makes it easy to move both blocks themselves, and the data within blocks, even if the blocks are in completely separate applications.

What’s structured data?

Structured data is any data that maps to a schema

Schemas are standardized formats that define the possible properties of a thing, the expected types of those properties, and (sometimes) their expected values.

So the schema for a Person has the properties firstName, jobTitle, and email.

While the schema for an ItemList has the properties numberOfItems (a number) andListItems (an array of strings).

This standard format makes it easy for us to pass an ItemList between different kinds of blocks, no matter which application the blocks are embedded in.

Why would I want to build blocks with the Block Protocol?

Blocks built with the Block Protocol can easily pass data between applications because the data within each block is structured.

Personal Notes

Project Management App

Keep data in sync, get real-time updates, and integrate with any service that uses the protocol.
No extra configuration required.

The Block Protocol makes interoperable, block-based data possible

The Block Protocol specification provides a set of guidelines on how to write blocks that render, create, update, and delete data in a predictable way.

This standardization makes it possible to easily move both blocks and data between applications that adhere to the protocol.

Read the Spec

Tap into a global registry of reusable blocks

As a developer, building your applications using the Block Protocol will give you access to a global registry of reusable, flexible blocks to embed inside your application. All connected to powerful structured data formats.

Explore all Blocks
Anyone can build new blocks and submit them to the registry. If you can’t see the block type you want, start building it today.

Add blocks to your app

Anyone with an existing application who wants to embed semantically-rich, reusable blocks in their product can use the protocol. Improve your app’s utility and tap into a world of structured data with no extra effort, for free.

Read the Embedding Guide

Build your own blocks

Any developer can build and publish blocks to the global registry for other developers to use. Create blocks that solve real-world problems, and contribute to an open source community changing the landscape of interoperable data.

Read the Quickstart Guide
We're hiring full-stack TypeScript/React and PHP plugin developers to help grow theBlock ProtocolWordPress ecosystem.Learn more