NeoBrutalism

CI Documentation GitHub Tag Platform Swift Dependencies License

Make a plain SwiftUI app look designed — in one line.

Add .neoBrutalism() at the root and every native control underneath picks up thick borders, hard shadows, and a matching palette. Your Button is still a Button — same code, same accessibility, nothing to migrate.

The same four SwiftUI controls side by side: plain on the left, and bordered and shadowed on the right after adding .neoBrutalism()

Identical SwiftUI on both sides. The only difference is one modifier.

Install

In Xcode: File → Add Package Dependencies, then paste:

https://github.com/rational-kunal/NeoBrutalism.git

Then two lines in your app:

import NeoBrutalism

ContentView()
    .neoBrutalism(applyBackground: true)

That's the whole setup. iOS 17+ · Swift 6 · zero runtime dependencies.

30 components

One modifier covers Button, Toggle, TextField, ProgressView, Gauge, Label, Menu, DisclosureGroup, GroupBox and more, straight through SwiftUI's own style protocols. Lists, navigation bars, sliders, tabs, and pickers take one extra line each.

The Example app cycling through its Todo, Gallery, and Themes tabs in light and dark mode

→ Every component and the exact line to type

Six themes

Swap the whole look in the call you already made:

ContentView().neoBrutalism(theme: .bubblegum, applyBackground: true)

Swatches for the .default, .sunnyPeach, .bubblegum, .seafoam, .tangerine, and .lavender preset themes

They vary more than color — corner radius, border weight, shadow depth, padding, and font design each give them a personality. Or build your own from a token set.

Documentation

What do I type? Every component and the one line that gives it to you.
Getting Started Install it and style your first screen.
Components A page each — every variant and state, light and dark, code to paste.
Theming Tokens, presets, and building a theme from scratch.

Want to poke at a real app? Open Example in Xcode — a todo screen, a component gallery, and a live theme switcher.

Backed by 119 snapshot tests across light and dark, recorded on a pinned simulator by CI. Semver; breaking changes only in majors.

Built with NeoBrutalism

Shipped something with it? Open a PR and add yourself — side projects very much welcome.

Contributing

Bugs and missing components are both worth an issue. CONTRIBUTING.md covers dev setup and the PR checklist; ROADMAP.md shows what's planned.

If this saved you an afternoon of styling, a ⭐ helps other people find it.


The credit for the design belongs to neobrutalism.dev.