The subject of this article or section has changed dramatically and requires updating. Please keep in mind that some of the information or images may not be accurate or relevant to the current version of Scratch, the Scratch website, or the article subject. (October 2016)
The general shape of a Hat block.

A Hat Block is a block that starts a script. This makes them essential for making projects. All hat blocks are either Control blocks, Events blocks, or More Blocks. In the Experimental Viewer, the first word of their name is capitalised.

Hat blocks are useful in Event Based Programming.


As Hat blocks are designed to start a script, they are shaped so no blocks can go on top of them — this is done by rounding the blocks' top. The bottom of Hat blocks are the same as Stack Blocks.

when gf clicked //This is a hat block.
go to [mouse-pointer v]


There are twelve Hat blocks in Scratch. Four are used for extensions. One is made with every instance of a custom block. They are:

The When () Is True block.

A wanted hat block is When () Is True.[1] It was available in the November 2006 beta but was removed in Scratch 1.0. It is available in some Scratch Modifications. This block can be reproduced by doing the following:

when gf clicked
wait until <...>
broadcast [true v]
wait until <not <...>>

when I receive [true v]
. . .


when gf clicked
if <...> then

The latter is equivalent to the replacement in Scratch 1.0.


Without Hat blocks, scripts could only be activated manually by clicking them, and not at all online. Each Hat block has a different method for getting activated — this is so different scripts can be started at different times. There are four different ways to activate a script — when the Green Flag is clicked, a key is pressed, the sprite is clicked, when a broadcast is received.

An example for when the When I Receive () block can be used as follows:

when I receive [Next Level v]
next costume

Snap! Hat Blocks

In the Scratch Modification Snap!, hat blocks are used in definitions of Custom Blocks (procedures). These hat blocks contain an image of the block on them. The custom block carries out the script attached to the bottom of the hat block.

Hat blocks cannot be created in BYOB/Snap! 4.0, but may be available in BYOB/Snap! 4.1.