Skip to content
An Xcode Playground to show the internals of iMessage's Confetti implementation.
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

Recreating iMessage Confetti

Confetti Animation

An Xcode Playground to acompany this post on


Clone or download this repo and open RecreatingiMessageConfetti.playground in Xcode.

This Playground is separated into different Pages to correlate with steps in the original post.

To navigate between pages, you can either:

  1. Use the Navigation Bar above the Editor
  2. Use the Project Navigatior (View > Navigators > Show Project Navigator)
  3. Use the links at the top & bottom of each page (Editor > Show Rendered Markup)

Tested with Xcode 11.2.1 / Swift 5.1.

You can’t perform that action at this time.