Blockly
JavaScript library
Blockly is a client-side library for the programming language JavaScript for creating block-based visual programming languages (VPLs) and editors. A project of Google, it is free and open-source software released under the Apache License 2.0. It typically runs in a web browser.
Blockly uses visual blocks that help simplify programming, and can generate code in JavaScript, Lua, Dart, Python, or PHP.
01History
Blockly development began in summer 2011.
In October 2025, the Raspberry Pi Foundation announced that from 10 November 2025, the Blockly open source library and assets, and key members of the Blockly team will transition from Google to the Raspberry Pi Foundation.

02User interface
The default graphical user interface (GUI) of the Blockly editor consists of a toolbox, which holds available blocks users can select from, and a workspace, where users can drag and drop blocks to place and rearrange them. The workspace also includes zoom icons and a trash can to delete blocks. The editor can be modified easily to customize and limit the available editing features and blocks.
03Customization
Blockly includes a set of visual blocks for common operations, and can be customized by adding more blocks. New blocks require a block definition and a generator. The definition describes the block's appearance (user interface) and the generator describes the block's translation to executable code. Definitions and generators can be written in JavaScript, or using a visual set of blocks, the Block Factory, which allows new blocks to be described using extant visual blocks; the intent is to make creating new blocks easier.
04Applications
Blockly is used in several notable projects, including:
- MIT's Scratch (since version 3.0), visual programming environment for education
- MIT's App Inventor, to create applications for Android.
- Code.org
- Microsoft's MakeCode
- PICAXE, to control their educational microchips

05Features
- Web-based using Scalable Vector Graphics (SVG)
- Completely client-side JavaScript
- Support of major web browsers
- Support for many programmatic constructs including variables, functions, arrays
- Minimal type checking supported, designed for dynamically typed languages
- Step-by-step code execution for tracing and debugging code
- Localised into 100+ languages
- Support for left-to-right and right-to-left languages
06Transition to the Raspberry Pi Foundation
On 28 October 2025, Google announced that Blockly, along with key members of its development team, would move from Google to the Raspberry Pi Foundation on 10 November 2025, after being developed within Google for 12 years. Google stated the move was supported by a grant from Google.org and would not require existing projects using Blockly to make any changes, with the library remaining free and open source under its existing Apache License 2.0.
Following the transition, the Raspberry Pi Foundation stated its intention for Blockly to remain the standard visual-programming interface for accessible coding, and announced plans to roll out accessibility improvements over the following year, including screen reader support and keyboard navigation, in partnership with platforms that use Blockly.
Sources and credits
This article is adapted from the Wikipedia article “Blockly”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Images, from Wikimedia Commons:
- Blockly Conditions to celsius.png by Dave Braunschweig, CC BY-SA 4.0
- Blockly while loop.png by Dave Braunschweig, CC BY-SA 4.0
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.