Skip to content

Scratch 3.0 Block Reference

This comprehensive reference covers every block in Scratch 3.0, organized by category with practical examples and common use cases. Perfect for quick lookups during project development!

Motion blocks control how sprites move and position themselves on the stage.

move (10) steps

  • Moves sprite forward in its current direction
  • Negative numbers move backward
  • Example: move (-5) steps moves 5 steps backward

turn ↻ (15) degrees / turn ↺ (15) degrees

  • Rotates sprite clockwise (↻) or counter-clockwise (↺)
  • 90 degrees = quarter turn, 180 degrees = half turn
  • Example: turn ↻ (90) degrees faces sprite to the right

point in direction (90)

  • Sets sprite to face specific direction
  • 0° = up, 90° = right, 180° = down, 270° = left
  • Example: point in direction (0) makes sprite face up

point towards (mouse-pointer ▼)

  • Aims sprite at mouse pointer or another sprite
  • Perfect for following cursors or chasing games
  • Example: Enemy sprites pointing toward player

🏃‍♀️ Character Movement

Use arrow key controls with change x by and change y by for player-controlled characters.

⚽ Ball Physics

Combine move steps, if on edge, bounce, and turn degrees for realistic ball movement.

🌟 Following Effects

Use point towards and move steps to create enemies that chase the player.

🎯 Precise Animations

Use glide blocks for smooth, timed movements between specific positions.

Looks blocks control sprite appearance, visibility, and visual effects.

say [Hello!] for (2) seconds

  • Shows speech bubble with text
  • Bubble automatically disappears after time
  • Example: Character greetings and dialogue

say [Hello!]

  • Shows speech bubble that stays until changed
  • Must be manually cleared with empty say block
  • Example: Permanent status displays

think [Hmm...] for (2) seconds / think [Hmm...]

  • Similar to say blocks but uses thought bubble
  • Cloudier appearance for internal thoughts
  • Example: Character planning or reacting
  • Use join operator to combine text: say (join [Score: ] (score))
  • Display variable values: say (player_name) for (3) seconds
  • Create dynamic messages based on game state

🎭 Character Animation

Use costume changes with timing to create walking, running, or flying animations.

💬 Interactive Dialogue

Combine say blocks with ask blocks for conversation systems in stories and games.

✨ Special Effects

Use graphic effects for power-ups, damage indicators, or magical transformations.

🎬 Scene Management

Use backdrop changes and layer controls to create cinematic experiences.

Sound blocks add audio to your projects, from simple sound effects to complex musical compositions.

play sound (meow ▼) until done

  • Plays sound completely before continuing script
  • Blocks other actions until sound finishes
  • Example: Character voice lines that must complete

start sound (meow ▼)

  • Starts sound but continues script immediately
  • Allows sounds to overlap and play simultaneously
  • Example: Background music while other sounds play

stop all sounds

  • Immediately stops all audio
  • Useful for scene transitions or pause functionality
  • Example: Stopping music when game ends

Scratch includes categories of sounds:

  • Animal: Cat meow, dog bark, bird chirp
  • Effects: Pop, boing, whoosh, laser
  • Human: Applause, laughter, footsteps
  • Instrumental: Piano, guitar, drums, electronic
  • Musical: Complete songs and melodies

🎮 Game Audio

Layer background music, sound effects, and UI sounds for immersive gaming experiences.

🎵 Music Composition

Create original songs using note blocks and different instruments.

📚 Audio Stories

Add narration, character voices, and sound effects to interactive stories.

🔔 Feedback Systems

Use sounds to provide immediate feedback for user actions and game events.

Events blocks determine when scripts start running - they’re the triggers that make everything happen.

when green flag clicked

  • Most common way to start programs
  • Runs when user clicks the green flag above the stage
  • Use for game setup, variable initialization, and main program loops

when this sprite clicked

  • Runs when user clicks on the specific sprite
  • Each sprite can have its own click handler
  • Example: Interactive buttons, clickable characters

when stage clicked

  • Runs when user clicks on empty stage area (not on a sprite)
  • Only available for stage scripts
  • Example: Hiding menus when clicking away from them
// Game initialization
when green flag clicked
set [score ▼] to (0)
set [lives ▼] to (3)
go to x:(0) y:(0)
show
// Interactive sprite
when this sprite clicked
say [You clicked me!] for (2) seconds
change [clicks ▼] by (1)

🎮 Game Controls

Map keyboard inputs to character actions for responsive game controls.

📡 Sprite Communication

Use broadcast messages to coordinate complex interactions between multiple sprites.

🎭 Interactive Experiences

Respond to clicks, voice, and other inputs for engaging user interactions.

⏰ Timed Events

Create automatic progressions, countdowns, and time-based gameplay elements.


  • Hat blocks (rounded top): Start scripts
  • Stack blocks (rectangular): Actions and commands
  • Boolean blocks (hexagonal): True/false questions
  • Reporter blocks (rounded): Values and information
  • Cap blocks (flat bottom): End scripts
  • Game loop: when green flag clickedforever loop
  • Player input: when [key] pressed → movement/action
  • Collision: if <touching [sprite]?> then → response
  • Animation: repeat loop with next costume and wait

This reference guide grows with your programming journey. Bookmark it and return whenever you need quick help with specific blocks or techniques! 📚✨