- Published on
How to display a GIF from a URL in SwiftUI
- Authors

- Name
- Mick MacCallum
- @0x7fs
Surprisingly, Apple doesn't currently offer any simple APIs to allow you to drop a GIF URL into your app in SwiftUI (or UIKit for that matter). But the good news is, there's a quick workaround for this. We can create a simple SwiftUI wrapper view around a WKWebView, and use it to load the GIF from our URL. In this example, I've disabled the web view's allowsLinkPreview and allowsBackForwardNavigationGestures properties to prevent the user from being able to interact with the image, treating it like a normal image view.
import SwiftUI
import WebKit
struct GifImageView: UIViewRepresentable {
private let url: URL
init(url: URL) {
self.url = url
}
func makeUIView(context: Context) -> WKWebView {
let webview = WKWebView()
webview.allowsLinkPreview = false
webview.allowsBackForwardNavigationGestures = false
webview.load(URLRequest(url: url))
return webview
}
func updateUIView(_ uiView: WKWebView, context: Context) {
uiView.reload()
}
}
Then to use this view to display a GIF in your app, just instantiate it and pass a URL. You can even try it with the URL below if you'd like!
GifImageView(
url: URL(string: "https://bleepingswift.com/static/images/articles/gif-image-view/tim.gif")!
)

Continue Learning
Accessing the Camera Roll in SwiftUI
Learn how to access photos from the camera roll in SwiftUI, including required permissions, Info.plist configuration, and using PhotosPicker for iOS 16+ or UIImagePickerController for earlier versions.
Creating a WebView with a transparent background in SwiftUI
Learn how to create a WebView/WKWebView with a transparent/clear background in SwiftUI.
Detecting When a Screenshot is Taken in SwiftUI
Learn how to detect when users take screenshots in your SwiftUI app by observing UIApplication notifications.