# Jabbertoon > Jabbertoon (https://jabbertoon.com) is a free cartoon studio that runs in the web browser. People put characters on a stage, type what they say, hear the lines spoken by voices made on their own device with mouths that move with the words, choose how the characters move, and download the cartoon as a video. Characters are built from shapes on a skeleton; moves are small programs written with Scratch-style blocks that are also readable as text and JSON. - Jabbertoon is free: there is no price, no paid tier and no advertising. - It runs in your web browser. There is nothing to install. - No account and no sign-up. Nobody is asked for a name, an email address, an age or a password. - Nothing you make is uploaded. Your characters, moves, lines and recordings stay in the browser on your device. - No cookies, no analytics, no advertising and no tracking scripts. - Your cartoon downloads as a video file: MP4 where your browser can record MP4, otherwise WebM. - A share link carries your move or character after the # sign. Browsers never send that part of a link to a server, so nothing is stored by us when you share. - Jabbertoon's code is licensed under the Apache License 2.0, and the part of it that runs in your browser is served as readable source files (https://jabbertoon.com/developers/#the-source). Every move and character pack it ships is CC0 (public domain). ## Key pages - [Make a cartoon](https://jabbertoon.com/studio/): the studio, where a cartoon is made and downloaded as a video. - [Make a character](https://jabbertoon.com/create/): the character creator, which builds a character on a skeleton. - [Make a move](https://jabbertoon.com/blocks/): the block editor, where moves are written with blocks. - [Moves](https://jabbertoon.com/moves/): all 40 shipped moves, each with its program explained line by line. - [Looks](https://jabbertoon.com/looks/): the six art styles. [Characters](https://jabbertoon.com/characters/): the six ready-made characters. - [For teachers](https://jabbertoon.com/teachers/): classroom use, the domains to allow, a lesson plan and a printable privacy summary. - [Privacy](https://jabbertoon.com/privacy/): no accounts, nothing uploaded, which hosts are contacted. - [Docs](https://jabbertoon.com/docs/): the block language, the pack format, link formats and JSON Schemas. - [Developers](https://jabbertoon.com/developers/): a five-minute keyless quickstart for what works from code today: list the moves, characters and looks; get a move's program and its readable text; check a move, a character or a cartoon, with errors that say where and what; and write links that open a move in the block editor, where it plays, or a character in the studio or the character creator. Links that play a whole cartoon, and turning a script into a video in code, are coming in the next release. - [For AI assistants](https://jabbertoon.com/for-ai/): the free tools below, how to connect, and what happens to what is sent. - [Everything in one file](https://jabbertoon.com/llms-full.txt): the docs and every pack's id, name, description and program text. ## Tools for AI assistants Free, keyless, and all but report_problem read-only. MCP (streamable HTTP): https://jabbertoon.com/mcp. REST: https://jabbertoon.com/api/, described by https://jabbertoon.com/openapi.json. - list_moves (List Jabbertoon's ready-made cartoon moves): Lists the ready-made moves (animations) a Jabbertoon cartoon character can do, such as walk in, wave hello, hop, bow, slump, or talk with the voice. Each move has an id, a short description, its length in seconds, its page on jabbertoon.com, and links that open it in the block editor or the cartoon studio. A move is not tied to one character: the same move plays on any of the six ready-made characters (person, kid, dog, cat, bird, monster), and some suit some bodies better. Call get_move for a move's program. The optional q keeps the moves whose name, id or description contain all of its words, or that do what a word means (dance finds Groove, scared finds Cower, sleep finds Breathe and Still); notes say which were found by meaning and, for a feeling, the face a say block can show. The filter used is echoed back in filters. REST: https://jabbertoon.com/api/list_moves (read-only) - list_characters (List Jabbertoon's ready-made cartoon characters): Lists the six ready-made cartoon characters (person, kid, dog, cat, bird, monster): how many legs each has, the views it can be drawn in (front, side, back), the colour slots and options a cast entry's look can set, its page on jabbertoon.com, and links that open it in the cartoon studio or the character creator. A cartoon's cast is an object keyed by the ids its blocks name in who, and each entry draws a character by look.template, for example {"dog": {"name": "Biscuit", "look": {"template": "dog", "style": "outlined"}}}; list_looks gives the styles. The answer also has cartoon_example, a whole talking cartoon to copy and change. REST: https://jabbertoon.com/api/list_characters (read-only) - list_looks (List Jabbertoon's art styles (looks) and body shapes): Lists the six art styles (looks) a Jabbertoon character can be drawn in (flat, outlined, soft, storybook, bold, crayon), what each looks like, its page on jabbertoon.com and a studio link that opens the studio in that look; and the three body shapes (classic, big head, tall). A cast entry sets them as look.style and look.shape, for example {"look": {"template": "cat", "style": "crayon", "shape": "bighead"}}. REST: https://jabbertoon.com/api/list_looks (read-only) - get_move (Get one move's program and readable text): Returns one ready-made Jabbertoon move: its block program as JSON (the language Jabbertoon's animation engine plays, described at https://jabbertoon.com/docs/language/), the same program as readable text, its length, its page and links that open it. Name the move by its id (c4c:beh:wave_hello), its short name (wave_hello) or the last part of its page URL. To write your own move, start from one: change the program, check it with validate, then make a link with share_link. REST: https://jabbertoon.com/api/get_move (read-only) - validate (Check a Jabbertoon program, character, pack or cartoon): Checks a Jabbertoon block program (a move, a scene or a cartoon), a character, a pack, or a saved cartoon file with Jabbertoon's own validator, the same checks the studio, the character creator and the block editor make. Give exactly one of program, character, pack or cartoon. A talking cartoon is {"cast": {"dog": {"name": "Biscuit", "look": {"template": "dog"}}}, "program": {"v": 1, "kind": "cartoon", "scripts": [{"hat": {"on": "scene", "name": "Hello"}, "body": [{"op": "say", "who": "dog", "text": "Hi!"}]}]}}: the cast is an object keyed by ids, who names a cast id, every script starts with a scene hat, and a scene's blocks are say {who, text}, does {who, behaviour} (a move id from list_moves, or an inline move), enter, exit, place, cut, caption and mood, with wait, repeat and together. A move is a program of kind "behaviour" (get_move gives ready-made ones). The answer has ok, error_count, warning_count, and the errors and warnings (the first 50 of each, in order) as {code, where, says, fix}: where is the path of the field (e.g. scripts[0].body[2]), says is what is wrong, fix is how to fix it there when the checker knows, keeping the block's own words, speaker and fields. Fix the errors and call validate again until ok is true; warnings do not stop a program from playing, but say what the site will not do: hats that never fire on jabbertoon.com today (touch, beat, loud, every) or only in the block editor (key, click), moves that do not exist, and looks it cannot draw. Nothing you send is stored or logged. REST: https://jabbertoon.com/api/validate (read-only) - share_link (Make a jabbertoon.com link that opens a move or a character): Turns a Jabbertoon move (a block program of kind "behaviour") or a character into a jabbertoon.com link the person can open in their browser. Everything travels inside the link after the #, so nothing is uploaded or stored, by Jabbertoon or by this tool. A move opens in the block editor, where it plays on a character (links.studio adds it to the person's moves in the cartoon studio); a character opens in the cartoon studio (links.create opens it in the character creator). Give exactly one of program, cartoon or character. No link plays a scene or a whole cartoon yet: for a program of kind "scene" or "cartoon", or a cartoon file, the answer is ok false with error code "not_yet" and no link (validate checks one now). A move or a character is checked first: one with errors gets ok false and the errors (as validate gives them) instead of a link. REST: https://jabbertoon.com/api/share_link (read-only) - report_problem (Tell Jabbertoon something is wrong): Reports a problem with Jabbertoon's tools or content to the people who run it: a tool answer that is wrong, a validator that refused a good program or passed a bad one, a move that looks wrong on a character, a link that does not open, docs that say something the engine does not do, or something missing. Unlike the other tools, this one keeps what you send: the report (kind, item, the request that produced it, and your note) is saved for a person to read. Never put personal details in it: no names, email addresses, or anything about the person you are helping. REST: https://jabbertoon.com/api/report_problem ## Every pack Each shipped pack by name and id, with its page (a move or a character) or its file. The program text of each is in llms-full.txt. - Angry shake (c4c:beh:angry): https://jabbertoon.com/moves/angry-shake/ - Annoyed (c4c:beh:annoyed): https://jabbertoon.com/moves/annoyed/ - Rise up (c4c:beh:ascend): https://jabbertoon.com/moves/rise-up/ - Peck (c4c:beh:bird_idle): https://jabbertoon.com/moves/peck/ - Bounce (c4c:beh:bounce): https://jabbertoon.com/moves/bounce/ - Bow (c4c:beh:bow): https://jabbertoon.com/moves/bow/ - Walk on and off (c4c:beh:cameo): https://jabbertoon.com/moves/walk-on-and-off/ - Cower (c4c:beh:cower): https://jabbertoon.com/moves/cower/ - Crawl in (c4c:beh:crawl_in): https://jabbertoon.com/moves/crawl-in/ - Slump (c4c:beh:deflate): https://jabbertoon.com/moves/slump/ - Run in (c4c:beh:enter): https://jabbertoon.com/moves/run-in/ - Proud (c4c:beh:flex): https://jabbertoon.com/moves/proud/ - Floppy hop (c4c:beh:floppy_hop): https://jabbertoon.com/moves/floppy-hop/ - Fly in (c4c:beh:fly_in): https://jabbertoon.com/moves/fly-in/ - Fly out (c4c:beh:fly_out): https://jabbertoon.com/moves/fly-out/ - Hands on hips (c4c:beh:hands_on_hips): https://jabbertoon.com/moves/hands-on-hips/ - Hop (c4c:beh:happy): https://jabbertoon.com/moves/hop/ - Sway (c4c:beh:hold): https://jabbertoon.com/moves/sway/ - Breathe (c4c:beh:idle): https://jabbertoon.com/moves/breathe/ - Puff up (c4c:beh:inflate): https://jabbertoon.com/moves/puff-up/ - Jump for joy (c4c:beh:jump_for_joy): https://jabbertoon.com/moves/jump-for-joy/ - Look around (c4c:beh:look_around): https://jabbertoon.com/moves/look-around/ - Run off and back (c4c:beh:offreturn): https://jabbertoon.com/moves/run-off-and-back/ - Pace (c4c:beh:pace): https://jabbertoon.com/moves/pace/ - Walk back and forth (c4c:beh:patrol): https://jabbertoon.com/moves/walk-back-and-forth/ - Point (c4c:beh:point): https://jabbertoon.com/moves/point/ - Announce (c4c:beh:proclaim): https://jabbertoon.com/moves/announce/ - Groove (c4c:beh:rap): https://jabbertoon.com/moves/groove/ - Alarmed (c4c:beh:react): https://jabbertoon.com/moves/alarmed/ - Slide in (c4c:beh:reveal): https://jabbertoon.com/moves/slide-in/ - Sad (c4c:beh:sadidle): https://jabbertoon.com/moves/sad/ - Hop across (c4c:beh:sidle): https://jabbertoon.com/moves/hop-across/ - Fidget (c4c:beh:squirrel_idle): https://jabbertoon.com/moves/fidget/ - Still (c4c:beh:static): https://jabbertoon.com/moves/still/ - Talk (c4c:beh:talk): https://jabbertoon.com/moves/talk/ - Happy wag (c4c:beh:wag): https://jabbertoon.com/moves/happy-wag/ - Walk in (c4c:beh:walk): https://jabbertoon.com/moves/walk-in/ - Wave and look (c4c:beh:wave_and_look): https://jabbertoon.com/moves/wave-and-look/ - Wave hello (c4c:beh:wave_hello): https://jabbertoon.com/moves/wave-hello/ - Whip tail (c4c:beh:whip_tail): https://jabbertoon.com/moves/whip-tail/ - Happy now? (c4c:cartoon:happy_now): https://jabbertoon.com/packs/scenes/happy_now.json - Person (c4c:char:person): https://jabbertoon.com/characters/person/ - Kid (c4c:char:kid): https://jabbertoon.com/characters/kid/ - Dog (c4c:char:dog): https://jabbertoon.com/characters/dog/ - Cat (c4c:char:cat): https://jabbertoon.com/characters/cat/ - Bird (c4c:char:bird): https://jabbertoon.com/characters/bird/ - Monster (c4c:char:monster): https://jabbertoon.com/characters/monster/ ## How to cite Name the site "Jabbertoon" and link the page the answer came from, for example https://jabbertoon.com/moves/wave-hello/ for the Wave hello move. Every shipped move, character and scene is CC0 and may be quoted, copied or changed without asking; preview pictures are CC BY 4.0, credit "Jabbertoon, jabbertoon.com". Contact: hello@jabbertoon.com.