For an open source alternative to Scratch, the strongest matches are samuelmtimbo/unit (Unit is a node-based visual programming environment and logic), code-dot-org/code-dot-org (This repository powers the educational web-based block coding environment) and google/blockly (Blockly provides a reusable block-based coding UI component and). xyflow/xyflow and px4/firmware round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “open source alternatives to Scratch visual programming”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Unit is a visual programming system and graph-based integrated development environment used to build functional software by connecting state machines and primitive operations. It serves as a node-based logic editor and state machine orchestrator that transforms visual program specifications into standalone JavaScript files for deployment as static websites. The system distinguishes itself through a visual compiler that can render program bundles into active websites and perform bi-directional graph inspection, allowing a live rendered application to be converted back into its original visual
Unit is a node-based visual programming environment and logic editor that compiles state machines into JavaScript applications, making it a functional alternative for visual software development even though it focuses on dataflow graphs rather than Scratch-style draggable blocks.
The code powering code.org and studio.code.org
This repository powers the educational web-based block coding environment of Code.org, delivering a block-based visual programming experience and sprite management similar to Scratch, though it lacks some of the general-purpose self-hosting flexibility and open-ended extensibility of pure visual engines.
Blockly is a block-based coding library and visual programming editor that allows users to build programs by interlocking graphical blocks. It functions as a visual code generator, translating these arrangements of logic blocks and variables into executable source code for various programming languages. The library provides a framework for creating custom visual programming languages and low-code logic designers. It utilizes an SVG-based UI library to render interactive, draggable elements on a web canvas. The system is designed as an accessible web UI framework with integrated keyboard navi
Blockly provides a reusable block-based coding UI component and code generator, but it is a building block for embedding in other applications rather than a complete self-contained visual programming environment like Scratch.
This project is a React-based framework for constructing interactive, node-based visual interfaces. It provides a platform for building canvases where users define, connect, and organize logical processes, data pipelines, or complex workflows through a graphical interface. By utilizing a modular component architecture, it enables the development of low-code environments, visual programming tools, and interactive diagramming applications. The framework distinguishes itself through a declarative approach where state changes automatically synchronize with the visual representation of nodes and e
This repository is a React component library and framework for building node-based interfaces, making it a building block for visual tools rather than a self-contained block-based programming environment like Scratch.
This project is flight control autopilot software designed as a real-time operating system for managing the flight dynamics and navigation of autonomous multicopters, fixed-wing aircraft, and rovers. It serves as a multi-vehicle autopilot framework that supports various aircraft configurations, including vertical takeoff and landing platforms across industrial environments. The system includes a MAVLink communication stack for exchanging telemetry and command data between unmanned vehicles and ground control stations. It also provides a software-in-the-loop flight simulator to test autopilot
This project is a flight control autopilot software and real-time operating system for autonomous vehicles rather than a visual programming language environment like Scratch.
Scratch-blocks is a block-based visual programming library and framework used to create graphical programming interfaces. It provides a visual environment that translates interlocking blocks into executable code, serving as a foundation for educational coding interfaces and visual programming languages. The project is implemented as a customized extension of the Google Blockly ecosystem. It enables the development of domain-specific languages through a drag-and-drop interface, supporting the creation of custom block libraries and no-code tool development. The framework handles the structural
Scratch-blocks provides the visual block-editing library that powers block-based programming interfaces, but it is a foundational component rather than a complete self-contained execution environment or application.
Logisim Evolution is a digital logic simulator and schematic editor used for designing and verifying digital circuits. It functions as a tool for digital circuit design and real-time logic simulation, allowing users to create schematic representations of electronic hardware using gates and registers. The software distinguishes itself by providing hardware description language tools that allow for the definition of custom component behavior and the translation of visual schematics into synthesis-ready code for FPGA hardware deployment. It also serves as a bridge for physical hardware integrati
Logisim-evolution is a digital logic simulator rather than a general-purpose block-based visual programming environment like Scratch, making it a neighbouring educational tool rather than a match for this intent.
Enso is a visual dataflow programming environment and multi-language data processing engine that compiles Enso, Python, Java, and JavaScript into a unified representation with a shared memory model for zero-overhead inter-language calls. It functions as a self-service data preparation and analysis platform where users can build data pipelines by connecting nodes in a graph, switching between a no-code visual interface and a code view while keeping all changes reviewable. The platform also serves as a cloud data workflow scheduler and API exposer, allowing workflows to run on a timetable or be
Enso is a node-based dataflow and polyglot programming environment rather than a sprite-and-actor-based visual environment like Scratch, making it a different style of visual programming tool.
Kivy is a cross-platform Python GUI framework used to build graphical user interfaces that run on desktop and mobile operating systems from a single codebase. It functions as a multi-touch UI library and a custom widget toolkit, providing a development environment for packaging Python applications into binary installations for Android and iOS. The framework is distinguished by its ability to handle complex multi-touch gestures and interactive input across various devices. It utilizes a specialized domain language for declarative UI construction to separate visual layout definitions from Pytho
This is a general-purpose Python GUI framework rather than a block-based visual programming environment, making it a building block for applications rather than the tool itself.
ESPHome is a framework for creating and managing custom firmware for microcontrollers, specifically targeting ESP32 and ESP8266 architectures. It replaces the need for writing complex embedded C++ code by allowing users to define hardware behavior, pin configurations, and automation logic through simple, declarative text files. The system automatically compiles these configurations into optimized binary images, providing a streamlined path from design to deployment. The project distinguishes itself through a modular, component-based architecture that emphasizes local-first control, ensuring t
ESPHome is a declarative configuration framework for microcontroller firmware rather than a block-based visual programming environment like Scratch, making it a different category of automation tool.
Node-RED is a visual, low-code automation framework designed for building event-driven data processing workflows. It provides a browser-based programming environment where users connect hardware devices, APIs, and online services by wiring together functional nodes in a directed graph. This visual approach allows for the creation of complex logic paths without the need for traditional source code. The platform is distinguished by its pluggable node architecture and portable flow serialization. Logic is represented as JSON-based data structures, enabling flows to be easily versioned, shared, a
Node-RED is a flow-based visual programming environment for automation and IoT rather than a sprite-based creative programming tool like Scratch, making it a neighbouring category.
Murder is an entity component system game engine designed for 2D game development. It provides a core framework for managing game objects through an ECS architecture and includes a dedicated 2D game editor for asset management and real-time property configuration. The engine features a specialized 2D rendering pipeline supporting pixel art, sprite slicing, and parallax effects. It includes a hierarchical A* pathfinding system for agent navigation and a comprehensive asset management system for serializing and loading game resources. The project covers a broad range of capabilities, including
Murder is a code-first entity component system game engine rather than a block-based visual programming environment, making it a neighbouring game development tool rather than a Scratch-like visual language.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| samuelmtimbo/unit | 4.9K | TypeScript | MIT | |
| code-dot-org/code-dot-org | 892 | JavaScript | NOASSERTION | |
| google/blockly | 13.4K | JavaScript | Apache-2.0 | |
| xyflow/xyflow | 37.3K | TypeScript | MIT | |
| px4/firmware | 12K | C++ | BSD-3-Clause | |
| scratchfoundation/scratch-blocks | 2.8K | JavaScript | Apache-2.0 | |
| logisim-evolution/logisim-evolution | 7.2K | Java | GPL-3.0 | |
| enso-org/enso | 7.4K | Java | Apache-2.0 | |
| kivy/kivy | 19K | Python | MIT | |
| esphome/esphome | 10.6K | C++ | other |