Make room
for a little wonder.A parent and teacher guide to KidsCode
KidsCode is a free place to explore programming through small, hands-on experiments. The aim is curiosity, confidence, and the joy of making something.
Choose a comfortable starting point
The robot adventures introduce sequences, repetition, and debugging without typing. They are designed with roughly ages 7–10 in mind. Pixel Studio introduces coordinates and patterns through making art. Confident readers and typists, often ages 10 and up, can follow the Python trail. These are flexible starting points, not entry requirements.
A small learning routine
- Predict: ask “What do you think will happen?” before pressing Run.
- Try: give the child time to test an idea independently.
- Notice: ask “What changed? What surprised you?”
- Remix: change one instruction, number, or word and try again.
A lesson can take 5–12 minutes, but nobody needs to finish on a schedule. Encourage breaks, stretch time, and explaining an idea away from the screen.
Programming foundations with blocks
The 20-mission visual path teaches primitive values (numbers, text, booleans, and absence), variables, arithmetic, comparisons, if/else, boolean logic, counted and conditional loops, nested loops, lists, indexing, iteration, records/dictionaries, stacks, queues, functions, input/output, and debugging. Each task runs the actual connected blocks, and decision tasks check several input scenarios.
The editor uses Blockly with our own block definitions and teaching activities. It is not an embedded Scratch site. Programs run through a limited interpreter with a step budget, collection and output limits, a time limit, and a Stop control. No user-supplied JavaScript is evaluated. Projects can be saved on the device, downloaded, and reopened. Importing never runs a project automatically.
The block canvas supports pointer and touch editing and works best on a computer or larger tablet. Use the robot activity for a simpler keyboard-controlled start. Blocks can be translated into Python as a next step; the two environments have some different type rules. Recipe blocks share variables and do not take parameters, while the Python lessons introduce parameters and return values.
What children can learn
The activities cover sequences, loops, decomposition, debugging, coordinates, and patterns. The ten Python lessons introduce output, variables, arithmetic, input, conditions, loops, lists, functions, dictionaries, and a guessing game. Four project starters invite open-ended practice.
Python goals compare printed output with the stated target. This gives immediate feedback, but it is not a comprehensive assessment of understanding. Ask children to explain their code or change the input to test their reasoning.
Data and privacy
Google Analytics measures visits and how the site is used. No accounts, advertising, chat, or public profiles are included. Completed activities, Python drafts, pixel art, and block projects are stored locally in the browser when storage is available. They do not sync across devices. Clear browser site data to remove all saved work, or use the progress reset on the Explore page to clear completed activities only. The privacy policy explains every detail.
The site loads Google Analytics and fonts from Google Fonts. Starting Python downloads its runtime from the jsDelivr CDN. Those services and the hosting provider receive ordinary connection information, such as IP addresses. The site does not send editor contents to a code-execution server. Encourage children to use fictional names and avoid entering personal information.
How the Python playground works
Real Python runs on the device using Pyodide. The first run requires an internet connection to load the engine. A background worker keeps the interface responsive; Stop terminates it. Runs have a 10-second execution limit and a 30,000-character output limit.
The editor supports text output and Python standard-library programs. It does not provide desktop windows, turtle graphics, package installation controls, or a live terminal. For input(), enter answers in the Program input box before running. Use trusted learning examples: Python can access browser networking APIs, so this tool is not a security sandbox for arbitrary code found online.
Keyboard and accessibility
Activities use labeled buttons and native controls. Robot commands work by tap or keyboard, without dragging. Pixel Studio supports arrow-key navigation and Enter or Space to paint. Motion is reduced when requested by device settings. The editor leaves Tab available for keyboard navigation; use its Indent button to insert four spaces.
An idea for the next adventure?
Have a suggestion, found a mistake, or spotted something that could work better? Email info@kidscode.dev. Include the page link and a short description so we can take a closer look.
Common questions from grown-ups
What age is KidsCode for?
Robot missions and pixel art are designed with roughly ages 7–10 in mind and need no typing. The Python trail suits confident readers and typists, often ages 10 and up. The block coding trail sits in between: children read short instructions and edit words or numbers on the blocks. Treat these as starting points rather than limits.
Is KidsCode really free?
Yes. All activities, lessons, and playgrounds are free. There are no paid tiers, subscriptions, or in-app purchases.
Do children need an account or an email address?
No. There is no sign-up, login, chat, or public profile. Progress, drafts, and projects are saved in the browser on the device being used, so they do not follow a child to another device.
Which devices and browsers work?
An up-to-date browser on a computer, Chromebook, or tablet works well. Robot missions, pixel art, and the Python lessons also work on phones. The block canvas has more room on a larger screen. The first Python run needs an internet connection to download the Python engine.
How does it compare to Scratch?
Both use snap-together blocks, so children can focus on ideas instead of typing. Scratch is a broad creative platform for animations, games, and sharing. KidsCode’s block trail is a guided path through programming foundations, such as data types, variables, decisions, loops, lists, and functions, with checks that run the child’s program. It then bridges to real Python. KidsCode is independent and not affiliated with Scratch.
Can I use KidsCode with a class?
Yes. Nothing needs installing and no student accounts are required, so a class can start straight away. Progress is saved per browser, so on a shared computer the next student sees the previous student’s progress and drafts. The Explore page can reset completed activities; clearing site data removes everything.
Start with an experiment
You do not need all the answers. “Let’s find out together” is a perfectly good place to begin.