Stay organized with collections
Save and categorize content based on your preferences.
Blockly is a web library that lets you add a customizable blocks-based code
editor to your app. The editor uses puzzle-piece like blocks to represent code
concepts like variables, logical expressions, loops, and more. It lets users
program without having to worry about syntax or the intimidation of the command
line.
Breaking it down further, you can think of Blockly in two ways:
Like a fun puzzle-piece UI.
Like a fancy string builder.
You define the puzzle connections and input fields, and then Blockly handles the
complicated rendering, dragging, and connecting of them.
You define the string (usually code) that gets generated for each block, and
then Blockly handles concatenating whole strings of blocks. What you do with
that result is up to you. You can do anything from solving a maze, to animating
a character, to analyzing some data. For more examples, see the Introduction to
Blockly applications.
Blockly lets you focus on applying blocks to your domain without worrying about
the details of how blocks work. For more information see
Why Blockly?
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-16 UTC."],[[["\u003cp\u003eBlockly is a JavaScript library that empowers developers to integrate a visual, block-based programming editor into their web applications.\u003c/p\u003e\n"],["\u003cp\u003eThis editor simplifies coding by using interlocking blocks to represent code elements, making it accessible to users with varying levels of programming experience.\u003c/p\u003e\n"],["\u003cp\u003eBlockly handles the visual aspects and logic of connecting blocks, allowing developers to focus on defining the functionality and behavior of their application.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can customize Blockly to generate code in various programming languages and utilize it for diverse applications like game development, data analysis, and educational tools.\u003c/p\u003e\n"]]],["Blockly is a web library enabling developers to integrate a visual, block-based code editor into applications. It utilizes puzzle-piece blocks to represent code elements, allowing users to program without syntax concerns. Developers define block connections and the resulting code strings. Blockly handles rendering, dragging, and string concatenation. Developers can then use the generated code strings to create various applications like solving mazes or analyzing data, allowing focus on their application instead of block interactions.\n"],null,["# What is Blockly?\n\nBlockly is a web library that lets you add a customizable blocks-based code\neditor to your app. The editor uses puzzle-piece like blocks to represent code\nconcepts like variables, logical expressions, loops, and more. It lets users\nprogram without having to worry about syntax or the intimidation of the command\nline.\n| **Note:** Blockly is for developers, Blockly apps are for learners. If you're here to use apps rather than build them, try some of the products from [companies\n| that create Blockly apps](https://developers.google.com/blockly#learn-with-blockly).\n\nBreaking it down further, you can think of Blockly in two ways:\n\n1. Like a fun puzzle-piece UI.\n2. Like a fancy string builder.\n\nYou define the puzzle connections and input fields, and then Blockly handles the\ncomplicated rendering, dragging, and connecting of them.\n\nYou define the string (usually code) that gets generated for each block, and\nthen Blockly handles concatenating whole strings of blocks. What you do with\nthat result is up to you. You can do anything from solving a maze, to animating\na character, to analyzing some data. For more examples, see the [Introduction to\nBlockly applications](/blockly/guides/design/app-overview).\n\nBlockly lets you focus on applying blocks to your domain without worrying about\nthe details of how blocks work. For more information see\n[Why Blockly?](/blockly/guides/get-started/why-blockly)"]]