SandCastleIcon.png This article has links to websites or programs not trusted by Scratch or hosted by Wikipedia. Remember to stay safe while using the internet, as we cannot guarantee the safety of other websites.
Explore Logo.gif
Version 3.4.1
Operating Systems Windows, Mac OS X, and Linux (the latter two are image-only)
Developer(s) powerpoint56, jueschnei (Windows installed version)
Open source? Yes
Programming language Squeak
Released? Yes
Compatible with Scratch 1.4
Official Website and
Forum Topic topic:8314
Active Yes

Explore[1] is a Scratch Modification created by powerpoint56 based on Scratch 1.4. Its main purpose is to improve Scratch by allowing the user to "explore" in such ways as using the Internet, file manipulation, etc.

New Blocks

Explore has 210+ new blocks as well as 6 new categories: Connect, Objects, Program, More, Strings and Files.

These blocks are as of version ~2.5. More have been added since.


point to x: (0) y: (0):: motion // points towards the given coordinates
set rotation style to [normal v] :: motion // sets the rotation style for the sprite
set rotation center to x: (10) y: (10) :: motion // sets the rotation center for the sprite
toggle draggable :: motion //  toggles whether a sprite can be dragged in the player
snap to grid (10) :: motion // rounds sprite location to the nearest multiple of the given number.
<draggable :: motion> // reports true if sprite is draggable in player
(rotation style :: motion) // reports the rotation style for the sprite


while <>{
} :: control c block // c-block that acts as the opposite of 'repeat until <>'
} :: control c block // c block that starts a script but continues right on to the next with no delay
stop all and press green flag :: control cap

end cap that restarts the project (equivalent of pressing the green flag).


(name of costume (1) :: looks) // reports the name of a costume
delete costume (10) :: looks // deletes specified costume
add costume from [paint new v] :: looks // adds a new costume from specified location
<camera open? :: looks> // reports if the computer's camera (webcam) is available
add [url v] costume from [] :: looks // adds a new costume from specified location
(last said/thought :: looks) // reports what the sprite last said or thought
(graphic effect [color v] :: looks) // reports the specified graphic effect amount
apply graphic effects to costume :: looks
set [stretch v] to () :: looks // sets the size, stretch or vertical stretch of a sprite
change [stretch v] by () :: looks // changes the size, stretch, or vertical stretch of a sprite by a certain amount
(stretch :: looks) // reports the stretch of a sprite 
(vertical stretch :: looks) // reports the vertical stretch of a sprite
<showing? :: looks> // reports if a sprite is showing
go to layer (1) :: looks // sends the sprite to the specified layer
(height :: looks) // reports the height of the sprite
(width :: looks) // reports the width of the sprite
flip horizontal :: looks // flips the sprite horizontally
flip vertical :: looks // flips the sprite vertically


(get [time v] :: sensing) // reports the specified item (items involve time)
<[left v] mouse down? :: sensing> // reports if the specified part of the mouse is being pressed
(key pressed :: sensing) // reports the last key pressed
(distance to x: (10) y: (10) :: sensing) // reports the distance to the specified location
<running Windows? :: sensing> // reports true if the computer being used to run Explore is a Windows computer
<running Mac? :: sensing> // reports true if the computer being used to run Explore is a Mac


 import sound ()::sound // imports a sound from a user's local files
 record sound [sound v]::sound // record a sound 
 (length of sound [pop v]::sound) // reports the length of a sound 
(number of sounds::sound) // reports the number of sounds


<true::operators> // constant; reports true
<false::operators> // constant; reports false
(if <> then [] else []::operators) // if the boolean is true it reports the first item, otherwise it reports the second item
(letters (1) to (5) of [hello world]::operators) // reports the letters from the first and last specified letter numbers.
(ascii for [A]::operators) // reports the ascii code of a letter 
(ascii (65) as letter::operators) // reports the letter for the ascii code specified 
<[hello world] contains [hello]::operators> // reports true if the first string contains the second string
([reverse v] [hello]::operators) // reports a string altered as specified
(round () to () places::operators) // reports a number rounded to the nearest specified decimal place
(constant [pi v]::operators) // reports a constant from the menu
([] as string::operators) // reports the specified value as a string
<[] is a string::operators> // reports true if value is a string
<[] is a number::operators> // reports true if value is a number


<pen down?::pen> // reports true if the pen is down
(pen color in [rgb v]::pen) // reports the RGB version of a color 
stamp text [hi] at x: (0) y: (0) font: [Arial v] size: (10) color: [black]::pen // stamps text at the given location and using the specified information


 move [Variable v] to x (10) y (10)::variables // moves the variable watcher to a certain location
set [Variable v] to [red]::variables // changes a variable's watcher color
set [Variable v] style to [slider v]::variables // sets the type of watcher
add variable [Example Variable] as [private v]::variables // creates a variable in the specified area


add list []::lists // creates a list
 (items (1) to (3) of [list v]::lists) // reports the items of a list from the first to second valued items
 set list blocks color to [red]::lists // sets the color of every list and list block to the given color
split [a,b,c] by [,] into [list v]::lists // splits the string at each specified spot and adds it to the specified list
 (join [list v] with [,]::lists) // joins the items in the list together using the specified character
 ([mean v] of [list v]) // reports the data specified about a list

Cloud Lists

Cloud lists, like cloud variables in Scratch 2.0, are lists but on the cloud.

  • make cloud list [] - makes a cloud list
  • (cloud list []) - reports the cloud list's data
  • add [thing] to c-list [] - adds specified data to a cloud list
  • delete (1) of c-list [] - deletes specified item of a cloud list
  • delete all of c-list [] - deletes all of the items in a cloud list
  • insert [thing] at (1) of c-list [] - inserts given item at a certain part of a cloud list
  • replace (1) of c-list [] with [thing] - replaces the specified item with the given data on a cloud list
  • (item (1) of c-list []) - reports the specified item of a cloud list
  • (item (1) to (3) of c-list []) - reports the given items of a cloud list
  • (length of c-list []) - reports how many items are in a cloud list
  • transfer c-list [] to list [list v] - transfers the data on a cloud data to a local list

Connect (New Category)

 (read file [helloworld.txt]::#39bf93) // reports text from a file on a user's computer
 (read line (10) of file [helloworld.txt]::#39bf93) // reports specified line of a file; obsolete in version 2.2 or later
 (number of lines on file [helloworld.txt]::#39bf93) // reports how many lines are in a file; obsolete in version 2.2 or later
<file [helloworld.txt] exists?::#39bf93> // reports true if the specified file exists
 (size of file [helloworld.txt] [KB v]::#39bf93) // reports the size of specified file in kilobites
(directory for [helloworld.txt]::#39bf93) // reports the location on a user's computer that a file is in
 (file name for [helloworld]::#39bf93) // reports the file name for a file
 write [Hello World] to text file [helloworld.txt]::#39bf93 // writes specified data to a text file
 export [costume 1 v] to file [example.png]::#39bf93 // exports specified costume to an image file
make [file v] [file] at [/]::#39bf93 // makes file/folder at specified location
clear file [helloworld.txt]::#39bf93 // keeps file but makes content blank
 delete file [helloworld.txt]::#39bf93 // deletes a file
 (read url []::#39bf93) // reports the page source code at a URL
 (read line (10) of url []::#39bf93) // reports the specified line of a URL's source code; obsolete in version 2.2 or later
(number of lines on url []::#39bf93) // reports the number of lines in a URL's source code; obsolete in version 2.2 or later
 open []::#39bf93 // opens the specified URL in the user's default browser
search [google v] for []::#39bf93 // searches the specified search engine for the given query
 ([temperature v] in [02139]::#39bf93) // reports certain data (weather, location, etc.) for a zip code.
([temperature v] in days [1 v] at [02139]::#39bf93) // gives a weather forecast: certain weather in a number of days at a zip code.
set cloud var [example v] to [0]::#39bf93 // sets a cloud variable to a certain value
 (get cloud var [example v]::#39bf93) // reports a cloud variable
 <internet connection::#39bf93> // reports true if there is internet connection

Objects (New Category)

  • clone me - clones the sprite
  • clone me and do: - c block that clones sprite and has clone perform the task inside loop
  • <I am a clone?> - reports true if the sprite is a clone
  • delete me - cap block that deletes the sprite running it (if it is a clone)
  • set my name to [] - sets the sprite's name to specified text
  • (my name) - reports the sprite's name
  • make [ v] do - c block that makes the specified sprite perform the task inside the loop

Program (New Category)

  • enter presentation mode
  • exit presentation mode
  • <presentation mode?> - reports true if using presentation mode
  • <using Explore?> - reports true if using Explore offline
  • set stepping speed to (0) - sets the stepping speed to specified number
  • import project from [] - imports a project from a certain location
  • save project - saves the current project
  • quit Explore - end cap that exits out of Explore
  • set cursor to [normal v] - sets the cursor to the specified type
  • set clipboard to [] - sets the clipboard to specified data
  • (clipboard) - reports what's on the clipboard
  • run code () - runs the specified Squeak code
  • (report code []) - reports the specified Squeak code
  • (Explore remaining memory) - reports the remaining memory of Explore
  • host mesh
  • join mesh [] - joins mesh on specified IP
  • leave mesh - exits mesh
  • (IP address) - reports the user's IP address

More (New Category)

  • (dialog ask for file, title [] extension(s) [txt docx]) - reports location gotten from a file-chooser dialog using the above info
  • (pick file path, title []) - reports location of a chosen file
  • (pick folder path, title []) - reports location of a chosen folder
  • (file path [user v]) - reports the location of common folders on a user's computer
  • dialog [Info] title [This is info] - pops up dialog with specified title and specified data
  • <confirm [Are you sure?] with title [Question]> - reports true if yes or no dialog answered yes
  • (ask [Do you agree?] with buttons [Yes, I agree] [No, I do not.] []) - reports the answer when it asks the specified question with specified options
  • (ask [What's your name?] initial answer [John Doe]) - reports the answer a user gives to the specified question
  • (string editor text [] title []) - opens a multiline text editor and reports its contents after user edits it
  • <confirm []> - reports true if the specified question is confirmed
  • inform []
  • (font # (10)) - reports the specified font number's name
  • <font [] exists?> - reports true if the specified font exists
  • (newline)
  • (line (1) of (multiline)) - reports a certain line of a multiline string
  • (lines in (multiline) - reports the number of lines in the specified multiline string
  • ((multiline)) - reports the specified multiline string
  • (color at pixel x: (0) y: (0)) - reports the color of the specified pixel
  • (color r: (10) g: (10) b: (10)) - reports the specified color
  • (color h: (10) s: (10) v: (10)) - reports the specified color
  • (color [ ]) - reports the specified color in rgb format

Other Features

Explore has various new features, the most important being a new menu called "Explore". Other non-block improvements have been made in more recent versions.[2]

Explore menu

The Explore menu has the following options. Most of the options are updated using info from the cloud.

  • Check for updates: Checks for new versions of Explore.
  • Current Development: Discusses current development of Explore.
  • Explore community: Lists members who have signed up for the community (see Join community).
  • Find member: Finds a member in the community.
  • Join community: The Explore community is simply a group of people who use Explore. By clicking this button a user adds their username to the list.

The rest of the options open certain URLs.

New Plugins Feature

Explore 3.4 and later has a new feature called plugins. Plugins are change sets that developers can make to be added to Explore. People who use Explore can use the new Plugins menu to find plugins and install them to get special blocks/features.

Malware Protection

Explore, like most programming languages, has many useful features that can also be used to create viruses. There will be a malware protection feature in Explore 4.

Windows Installer

During development of Explore 3.3, jueschnei began working with powerpoint56, and created a new Windows Installer that is still in active development.

The installed version of Explore by jueschnei comes with many helpful new features. It automatically keeps Explore up to date, and has its own Explore2EXE converter. Recent development has been focused on the Explore Store, which will let users share and browse projects, plugins and more.

Future Development

Powerpoint56 and jueschnei are working on the Explore store and Explore 4. Jueschnei also is working on the Windows installer, the Explore store, the updater, the website, and other improvements to the Windows installed version.

Images from Explore

See Also


  1. powerpoint56. (22/7/2013). "Explore, Scratch mod[title]" projects:11544873
Cookies help us deliver our services. By using our services, you agree to our use of cookies.