blockly

From public sources

Blockly is an open-source JavaScript library that adds a drag-and-drop visual code editor to web apps, so users can build programs from interlocking blocks instead of typing syntax.

LibraryCategory: Libraries & SDKs · UI & editorsOpen sourcedata checked Oct 15, 2026

Overview

Learning to program, or building simple automation in a web app, often stalls on syntax errors and the intimidation of a blank command line. Blockly addresses this by letting users assemble programs from graphical blocks that represent concepts such as variables, logical expressions and loops, so they can apply programming principles without worrying about syntax. Blockly is a library rather than a standalone application, so developers embed its editor into their own web product and configure which blocks are available. It can be installed with npm, bootstrapped with the create-package tool, and extended through plugins that add fields, themes and renderers. The editor is fully usable from the keyboard and is designed to be accessible to screen reader users. Blockly is released under the Apache-2.0 license and is aimed at educators, students and developers building visual programming experiences into their applications.
  • design

Installation

Commands are shown, never run by the marketplace. Check them against the official documentation.

Compatibility

Unknown means no evidence was found — not that the product is incompatible.
PlatformStatusArchitectureEvidenceConfidence
Node.jsUnknown———
PythonUnknown———
JVMUnknown———
.NETUnknown———
WebAssemblyUnknown———
Web browserCompatible—Declared on the card—

Releases

checked Oct 29, 2026
v13.4.0LatestOct 13, 2026Official source ↗

Files in 13.4.0

The marketplace does not host these files: downloads go to the official source. Files have not been scanned by us.
FilePlatformSizeSHA-256Download from the official source
blockly-13.4.0.tgzUnknown3.2 MBc7927c146792…Official source ↗

Release history

Quality profile

algorithm quality-v1.0 · assessed Oct 15, 2026
Quality Score98
Risk Score0
Confidence 1.00
Quality Score and Risk Score are different measures. A high score does not guarantee safety.

Score components

Maintenance · 2020
last activity 0 days ago
Documentation · 1515
README 6303 chars, description present
Ready to use · 1515
install instructions: yes; releases: yes
Metadata · 108
3/4 of description, homepage, license, topics
Releases · 1010
10 release(s), latest 2 days ago
Category confidence · 1010
classifier confidence 1
Adoption · 1010
13583 stars (log-dampened, 10k = max)
License clarity · 55
SPDX Apache-2.0
Community · 55
issues enabled, 3877 forks

License

Apache-2.0
Known licensefrom the repository host

This is the catalog policy status, not legal advice.

Sources

github.com/RaspberryPiFoundation/blocklyPrimary★ 13,583 starslast activity Oct 15, 2026Primary repository · Confidence 1.00

Reviews

Sign in to write a review

No reviews yet.

Alternatives

README

From RaspberryPiFoundation/blockly · license Apache-2.0 · fetched Oct 29, 2026

Blockly

Blockly is a library that adds a visual code editor to web apps. The Blockly editor uses interlocking, graphical blocks to represent code concepts like variables, logical expressions, loops, and more. It allows users to apply programming principles without having to worry about syntax or the intimidation of a blinking cursor on the command line. All code is free and open source.

[An example program built with Blockly that checks for a game over state]

Getting Started with Blockly

Blockly has many resources for learning how to use the library. You can try a live demo or visit our developer site to read the documentation on how to get started, configure Blockly, and integrate it into your application. The developer site also contains links to:

Help us focus our development efforts by filling out a brief developer survey about what you're building with Blockly.

Installing Blockly

If you're starting a new project using Blockly, you can bootstrap it using our create-package tool:

npx @blockly/create-package app my-cool-blockly-app --typescript

Or, if you're adding Blockly to an existing project, just install it with npm:

npm install blockly

Getting Help

  • Report a bug or file a feature request on GitHub
  • Ask a question, or search others' questions, on our developer forum. You can also drop by to say hello and show us your prototypes; collectively we have a lot of experience and can offer hints which will save you time. We actively monitor the forums and typically respond to questions within 2 working days.

blockly-samples

We have a number of examples which demonstrate various techniques to include and extend the Blockly library. These examples can be found in another repository called blockly-samples.

Plugins

A plugin is a self-contained piece of code that adds functionality to Blockly. Plugins can add fields, define themes, create renderers, and much more. For more information, see the Plugins documentation.

Contributing to Blockly

Want to make Blockly better? We welcome contributions to Blockly in the form of pull requests, bug reports, documentation, answers on the forum, and more! Check out our Contributing Guidelines for more information. You might also want to look for issues tagged "Help Wanted" which are issues we think would be great for external contributors to help with.

Releases

We release new versions on npm and GitHub releases, and then update our docs and demo pages. If there are breaking regressions, such as a crash when performing a standard action or a rendering issue that makes Blockly unusable, we will cherry-pick fixes into patch releases. The releases page has a list of all releases.

We use semantic versioning. Releases that have breaking changes or are otherwise not backwards compatible will have a new major version. Patch versions are reserved for bug-fix patches between scheduled releases.

We now have a beta release on npm. If you'd like to test the upcoming release, or try out a not-yet-released new API, you can use the beta channel with:

npm install blockly@beta

As it is a beta channel, it may be less stable, and the APIs there are subject to change.

Branches

Most development happens in the main branch. Pull requests should typically be made against main. This branch should be stable; features that aren't ready yet should be merged to a feature branch instead. Once something is in main we expect it to be part of the next release. However, features and APIs here are subject to change until they are released. If you're working on a production application using Blockly, you should use the release from npm or the GitHub release page, not the main branch.

Larger changes may have their own branches until they are good enough for people to try out. These will be developed separately until we think they are almost ready for release. They will be merged into main when ready.

New APIs

Once a new API is released, it is considered beta until the following release. We generally try to avoid changing an API after it has been released, but sometimes we need to make changes after seeing how an API is used. If an API has been around for at least two releases we'll do our best to avoid breaking it.

Unreleased APIs may change radically. Anything that is in main but not released is subject to change without warning.

Issues and Milestones

We typically triage all bugs within 1 week, which includes adding any appropriate labels and assigning it to a milestone. Please keep in mind, we are a small team so even feature requests that everyone agrees on may not be prioritized.

Accessibility

Although Blockly is built around drag-and-drop, it is fully usable with the keyboard alone. Blockly is also accessible to screenreader users by default. We provide Accessibility Conformance Reports in the VPAT format that outline Blockly's conformance to WCAG 2.2 Level AA.

Open the repository ↗