Swift Playgrounds is a revolutionary app for Mac and iPad that makes it fun to learn and experiment with code. You solve interactive puzzles in the guided “Learn to Code” lessons to master the basics of coding, or experiment with a wide range of challenges that let you explore many unique coding experiences.

Swift Playgrounds requires no coding knowledge, so it’s perfect for students just starting out, from twelve to one-hundred-and-twelve. The whole time you are learning Swift, a powerful programming language created by Apple and used by professionals to build many of today’s most popular apps. Code you write works seamlessly as you move between Mac and iPad.

Lessons built-in
• Apple-created lessons guide you through the core concepts of programming by using code to solve puzzles
• See your code run in a beautiful, interactive 3D world that you can rotate and pinch to zoom using the trackpad
• Animations introduce each new coding concept at a high level before you dive into the puzzles
• Choose from three animated characters to carry out the steps of your code
• Glossary and built-in help pages give detailed information about available commands and frameworks

Explore and create
• Challenges offer many new opportunities for creativity by playing with game logic, music, and more
• Interactive coding shows the results of your code instantly, either beside the text or acted out in the live view
• Step through your code to highlight each line as it is run
• Use your own photos and images within a program to make it uniquely yours
• Starting points are a head start to create your own playgrounds that display graphics or chat with your Mac
• Create your own playgrounds from scratch to build something totally unique
• Reset any page to start over, or duplicate and rename any playground to try different ideas

Built for Mac
• Code suggestions let you write entire programs in just a few clicks of the mouse
• See help along side code suggestions to learn about the available commands
• Click and drag a brace to wrap a block of code inside a loop or conditional statement
• Drag and drop snippets of commonly-used code directly into your playground

Real Swift code
• Learn the same powerful Swift programming language used by the pros to create thousands of apps
• Take your Swift coding skills to the next level using Xcode to develop an app you publish on the App Store
• Access powerful frameworks such as SpriteKit for 2D games, SwiftUI for app interfaces, and more
• Use Bluetooth APIs to write programs that control robots and other real-world devices
• Concepts and skills you learn directly apply when writing real apps

• Send your creations to friends and family using Messages, Mail, AirDrop, or other Share Sheet extensions
• Start a playground on your Mac, then open on your iPad using iCloud to continue the project

What’s New

Version 3.4.1

• Localization and performance improvements.

Ratings and Reviews

4.0 out of 5
357 Ratings

357 Ratings

gmferguson ,

Fun learning environment

I've programmed since the advent of personal computers, and did it professionally for over 30 years, and enjoyed many environments, like Turbo Pascal, but Swift Playgrounds is the most fun.

It'd be accessible to kids and non-programmers, and as a dad whose kids were raised with Macs, I wish this had been available to them. Even with the years I have behind me in a bunch of different languages, I find this entertaining. And, even though I'm retired now and don't have to program, I keep my fingers in it to help others, and play with the Playgrounds to learn Swift.

Way to go Apple!

ArchangelX10 ,

Great app but

Hi! I'm learning Swift with this and I'm having a lot of fun. A suggestion I'd like to make is if you could include a version of each playground that has everything unlocked from the beginning.

If that doesn't make sense, I'll expain. After completing Playground 1 and 2, I learned a lot of different ways to solve the puzzles.

I want to take what I learned and go back to the beginning of Playground 1 and solve the easier beginning puzzles. For instance, "turnRight()" isn't available until later but since I already know its coming, I don't want to have to type "turnLeft()" three times. This includes all the other lessons, "let..", "var.." etc.

Simply put, I'd like to use more advanced tactics to solve the simple problems so I can understand how to use them in multiple scenarios.


Max55509 ,

new shapes playground

we are excited to see the spritekit capabilities in new shapes playgrounds app. here are the limitation students found.: 1. there is no way to set bounciness propery to sprite objects physics body. 2. = sign does not appear on keyboard ribbon as it did in old shapes playground 3. '(' doesn't show on keyboard ribbon after typing the object name. which is annoying for young children. 4. position and size cannot be changed after object creation using position and size properties as they expect CGPoint and CGSize and Point and Size do not work. students were able to change the center propery easily in the old shapes playground.

App Privacy

The developer, Apple, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy.

Data Not Linked to You

The following data may be collected but it is not linked to your identity:

  • Identifiers
  • Usage Data
  • Diagnostics

Privacy practices may vary, for example, based on the features you use or your age. Learn More


  • Family Sharing

    With Family Sharing set up, up to six family members can use this app.

Featured In

More By This Developer