SwiftUI library that creates glass morphism text effects using the latest SwiftUI glass effect API.
- Glass morphism text rendering via the SwiftUI glass effect
- Font customization (designs: default, serif, monospaced, rounded)
- Font weights from ultraLight to black
- Cross-platform: iOS, macOS, tvOS, watchOS (visionOS not supported)
- Text alignment (leading, center, trailing)
- Localization with LocalizedStringResource
- Easy integration with a simple, modern API
- Performance optimized with Core Text for precise metrics
- iOS 26.0+ / macOS 26.0+ / tvOS 26.0+ / watchOS 26.0+
- Swift 6.2+
- Xcode 26.0+
Add GlassText to your project through Xcode:
- In Xcode, go to
File→Add Package Dependencies - Enter the repository URL:
https://github.com/yourusername/GlassText - Select the version you want to use
- Add to your target
Or add it to your Package.swift:
dependencies: [
.package(url: "https://github.com/yourusername/GlassText", from: "0.1.0")
]import SwiftUI
import GlassText
struct ContentView: View {
var body: some View {
GlassText("Hello, World!", glass: .regular)
.font(.largeTitle)
.fontWeight(.bold)
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(
AsyncImage(url: URL(string: "your-image-url")) { image in
image
.resizable()
.scaledToFill()
} placeholder: {
LinearGradient(
gradient: Gradient(colors: [.blue, .purple]),
startPoint: .topLeading,
endPoint: .bottomTrailing
)
}
)
}
}GlassText("Custom Glass Text", glass: .regular.tint(.cyan))
.font(.system(size: 48, weight: .bold, design: .rounded))
.multilineTextAlignment(.center)GlassText("Clear Glass", glass: .clear)
.font(.system(size: 36, weight: .semibold))
.fontDesign(.serif)
GlassText("Regular Glass", glass: .regular)
.font(.system(size: 36, weight: .semibold))
.fontDesign(.serif)
GlassText("Tinted Glass", glass: .regular.tint(.red))
.font(.system(size: 36, weight: .semibold))
.fontDesign(.serif)GlassText("localized.text.key", glass: .regular) // Uses LocalizedStringResource
.font(.title)
.fontWeight(.medium)// String initializer
public init(
_ text: String,
glass: Glass = .clear
)
// LocalizedStringResource initializer
public init(
_ text: LocalizedStringResource,
glass: Glass = .clear
)text: The text to display (String or LocalizedStringResource)glass: The glass effect to apply (default:.clear).clear- Clear glass effect.regular- Regular glass effect.regular.tint(.color)- Regular glass with custom tint color
// Clear glass (default)
GlassText("Clear Glass")
// Regular glass
GlassText("Regular Glass", glass: .regular)
// Tinted glass
GlassText("Red Tinted", glass: .regular.tint(.red))
GlassText("Blue Tinted", glass: .regular.tint(.blue))
GlassText("Custom Tinted", glass: .regular.tint(.purple))GlassText uses SwiftUI's font system. You can customize fonts using standard SwiftUI modifiers:
GlassText("Your Text")
.font(.system(size: 32, weight: .bold, design: .rounded))
.fontDesign(.serif)
.fontWeight(.heavy)GlassText("Left Aligned", glass: .regular)
.multilineTextAlignment(.leading)
GlassText("Center Aligned", glass: .regular)
.multilineTextAlignment(.center)
GlassText("Right Aligned", glass: .regular)
.multilineTextAlignment(.trailing).ultraLight.thin.light.regular.medium.semibold.bold.heavy.black
.default- System default font.serif- Serif font family.monospaced- Monospaced font family.rounded- Rounded font family
VStack(spacing: 20) {
GlassText("Default Design", glass: .regular)
.fontDesign(.default)
GlassText("Serif Design", glass: .regular)
.fontDesign(.serif)
GlassText("Monospaced Design", glass: .regular)
.fontDesign(.monospaced)
GlassText("Rounded Design", glass: .regular)
.fontDesign(.rounded)
}VStack(spacing: 15) {
GlassText("Light Weight", glass: .regular)
.fontWeight(.light)
GlassText("Regular Weight", glass: .regular)
.fontWeight(.regular)
GlassText("Bold Weight", glass: .regular)
.fontWeight(.bold)
GlassText("Heavy Weight", glass: .regular)
.fontWeight(.heavy)
}VStack(spacing: 15) {
GlassText("Clear Glass")
.font(.title)
GlassText("Regular Glass", glass: .regular)
.font(.title)
GlassText("Red Tinted", glass: .regular.tint(.red))
.font(.title)
GlassText("Blue Tinted", glass: .regular.tint(.blue))
.font(.title)
GlassText("Purple Tinted", glass: .regular.tint(.purple))
.font(.title)
}GlassText("""
Multi-line
Glass Text
Effect
""", glass: .regular)
.font(.system(size: 36, weight: .semibold))
.fontDesign(.serif)
.multilineTextAlignment(.center)For best results, use GlassText over colorful or textured backgrounds:
ZStack {
// Background
AsyncImage(url: URL(string: "your-background-image-url")) { image in
image
.resizable()
.scaledToFill()
.ignoresSafeArea()
} placeholder: {
LinearGradient(
gradient: Gradient(colors: [.blue, .purple]),
startPoint: .topLeading,
endPoint: .bottomTrailing
)
}
// Glass text
GlassText("Glass Effect", glass: .regular.tint(.white))
.font(.system(size: 64, weight: .bold, design: .rounded))
}import SwiftUI
import GlassText
struct GlassTextDemo: View {
var body: some View {
ScrollView {
LazyVStack(spacing: 20) {
GlassText("Glass 2048", glass: .regular)
.font(.system(size: 44))
.fontWeight(.heavy)
.fontDesign(.rounded)
VStack(spacing: 15) {
GlassText("Light", glass: .regular.tint(.cyan))
.font(.system(size: 36).weight(.light))
.fontDesign(.rounded)
GlassText("Bold", glass: .regular.tint(.orange))
.font(.system(size: 36).weight(.bold))
.fontDesign(.rounded)
GlassText("Heavy", glass: .regular.tint(.purple))
.font(.system(size: 36).weight(.heavy))
.fontDesign(.rounded)
}
}
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background {
AsyncImage(url: URL(string: "your-image-url")) { image in
image
.resizable()
.scaledToFill()
.ignoresSafeArea()
} placeholder: {
Color.gray.opacity(0.2)
}
}
}
}- iOS 26.0+
- macOS 26.0+
- tvOS 26.0+
- watchOS 26.0+
- visionOS (not supported)
GlassText uses:
- SwiftUI's built-in glass effect API for optimal performance
- Core Text for precise text rendering and measurements
- Swift 6.2 features including
@preconcurrencyfor safe concurrency - Modern SwiftUI font system with full customization support
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Created by Ailton Vieira
- Built with SwiftUI and Core Text
- Uses SwiftUI's native glass effect API (iOS 26.0+)
- Inspired by modern glass morphism design trends
- Optimized for Swift 6.2 and modern concurrency
