amosgyamfi
open-swiftui-animations
Swift

You don't need an animation library to add a simple effect to your SwiftUI app. Create it yourself with SwiftUI. This repo inspires you to add helpful and expressive SwiftUI animations like loading/progress, looping, on-off, enter, exit, fade, spin, and background animations to your next project. The repo also contains tremendous spring animations.

Last updated Jul 7, 2026
5.5k
Stars
289
Forks
20
Issues
+12
Stars/day
Attention Score
97
Language breakdown
Swift 100.0%
โ–ธ Files click to expand
README

Open SwiftUI Animations

Pure SwiftUI animation inspirations for your next iOS, macOS, visionOS, and watchOS projects. Enjoy ๐Ÿ˜Š.

Support

  • https://github.com/sponsors/amosgyamfi
  • https://buymeacoffee.com/amosgyamfi
  • https://ko-fi.com/amosgyamfi

Animate Anything With SwiftUI

SwiftUI animations preview

SwiftUI animation is compelling and superb. With minimal effort, you can add incredible effects and beautiful animations to your apps. Why use an animation library instead of creating these tiny effects yourself? Get inspiration from here and start building your SwiftUI animations today. Most animations here are based on the animations section in the Apple Developer Documentation. Check out the Xcode project for examples of the new Phase Animator, Symbol Effects, Keyframe Animator, and Spring Animations for iOS 17 and beyond. Would you like to see an animation that is not here, or did you find an engaging one to add? Contact me on X: @amosgyamfi or add it as a task in the project's backlog.

Starting in 2025, I will generate some of the SwiftUI animations using SOTA models like Gemini 2.5 Pro, Claude 3.7 Sonnet, OpenAI o3, and o4-mini models.


Liquid Glass Shape Morphing Animation With GlassEffectContainer: Gist

Shape Morphing Animation With GlassEffectContainer
import SwiftUI

struct LiquidGlassEffectContainer: View { var body: some View { GlassEffectContainer(spacing: 50) { PhaseAnimator([false, true]) { morph in HStack(spacing: morph ? 50.0 : -15.0) { Button { // } label: { Image(systemName: "scribble.variable") } .padding() .glassEffect() Button { // } label: { Image(systemName: "eraser.fill") } .padding() .glassEffect() } .tint(.green) .font(.system(size: 64.0)) } animation: { morph in //.bouncy(duration: 2, extraBounce: 0.5) //.easeOut(duration: 2) .easeInOut(duration: 2) //.timingCurve(0.68, -0.6, 0.32, 1.6, duration: 2) } } } }

#Preview { LiquidGlassEffectContainer() .preferredColorScheme(.dark) }


Typewriting, Erasing & Cursor-Blinking-Style Animation: Gist

Safari-Style Add to Bookmarks Animation

Safari-Style Add to Bookmarks Animation: Gist

Safari-Style Add to Bookmarks Animation

Animated, visual guide to SwiftUI mask(alignment::), clipShape(:style:), and clipped(antialiased:): Gist

Animated, visual guide to SwiftUI mask(alignment:</em>:), clipShape(_:style:), and clipped(antialiased:)

2D rotation around specified anchor: Gist

2D rotation around specified anchor

SwiftUI New Year's Eve Fireworks: Gist

SwiftUI New Year's Eve Fireworks

Image generation loader: Gist

Image generation loader

3 Ways to add animations: Gist

3 Ways to add animations

Gemini 2.5 Pro + OpenAI o3 SwiftUI-generated animations: Gist. Note: The animations are unedited. Modify and use them to suit your needs.

SwiftUI fireworks animation

Thinking, Weighing Options, Evaluating Sentence


SwiftUI Moving Border With dashPhase

Hue rotation

Getting Inner and Outer Borders

Inner and Outer Borders

PulsingHearts.swift

Pulsating Hearts

SlideToUnlock.swift: Find All Variations

Slide to unlock

CrossFadeNumericTransition.swift

Numeric transition

Hue Rotation effect with Phase Animator

Hue rotation

Hello WWDC24

WWDC24

Duolingo getting started and loading animations

Duolingo Animations

How Things Move: Constant speed, acceleration, deceleration

How Things Move

Vision Pro 3D rotation

Vision Pro 3D rotation

3D Rotate String Characters

3D Rotate String Characters

Flip String Characters in XYZ

Flip String Characters in XYZ

Use DashPhase to move dashes around a shape.

Animate dashphase

Animated Signature: Use trimming to draw and erase the path.

Animated Signature

Reactions with Springs: EmotionalReactions.swift EmotionalReactions.swift


Expressive Reactions: IncomingMessageView.swift Expressive Reactions


Content Transition: Smooth Symbols Swapping: [Add soon]() Content Transition:


**Content Transition, Phase Animator with Springs: Create seamless icon replacement: [Add soon]() Content Transition, Phase Animator


X Like Animation: XLike Animation XLike


Animating Achors: [Add soon]() AnchorMovement.swift


Achieving Bounce: [Add soon]() BouncyAlternative.swift


3D Y-Rotation - visionOS: [Add soon]() AirPodsMaxAnimation.swift


Incoming call animation, symbol effect with variable color and hue rotation: IncomingCall.swift AirPodsMaxAnimation.swift


ยฉ 2026 GitRepoTrend ยท amosgyamfi/open-swiftui-animations ยท Updated daily from GitHub