# FlatLaf: the look and feel that made Swing apps look like IntelliJ

> FlatLaf is an open source, Apache-2.0 licensed cross-platform look and feel for Java Swing, nearly flat with no shadows or gradients, shipping Light, Dark, IntelliJ and Darcula themes derived from IntelliJ IDEA 2019.2, scaling on HiDPI displays and running on Java 8 through the latest. Its adoption list runs from Apache NetBeans to Burp Suite and Ghidra, and a family of addons extends it with third party themes, SVG icons and bundled fonts.

**JFormDesigner/FlatLaf** — FlatLaf - Swing Look and Feel (with Darcula/IntelliJ themes support)

- Repository: https://github.com/JFormDesigner/FlatLaf
- Website: https://www.formdev.com/flatlaf/
- Stars: 4,298 · Forks: 331
- Language: Java
- License: Apache-2.0
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/jformdesigner-flatlaf

## Swing, dressed like IntelliJ 2019.2

FlatLaf is a modern, open source, cross-platform look and feel for Java Swing desktop applications that looks almost flat, no shadows or gradients, clean, simple and elegant. It comes with four built in themes, Light, Dark, IntelliJ and Darcula, and the visual lineage is stated precisely, heavily inspired by the Darcula and IntelliJ themes from IntelliJ IDEA 2019.2 and newer, using almost the same colors and icons, which is why Swing applications adopting it immediately look like the IDE their users live in. Two platform commitments round out the pitch, it scales on HiDPI displays, historically Swing's weakest surface, and it runs on Java 8 or newer, both LTS releases and the latest, so legacy desktop applications can modernize their appearance without modernizing their runtime. macOS is called out with its own themes section, acknowledging that Apple's platform conventions differ enough that a straight port of the cross platform look would feel wrong there, so native-feeling variants exist for the Mac.

## One line before the first component

Adoption is deliberately a single call, placed in the main method before any Swing component is created:

```java
FlatLightLaf.setup();

// create UI here...
```

That ordering constraint is the whole integration contract, look and feels must be installed before the UI exists, and FlatLaf reduces everything else to defaults. To evaluate without integrating, the project publishes a demo jar, run with java -jar flatlaf-demo followed by the version and .jar, requiring Java 8 or newer, so a skeptical developer can page through every Swing component under each theme in ninety seconds before touching a build file. The demo doubles as a reference for what customized applications can look like, since it exercises the components across the bundled themes side by side.

## Maven Central, signed DLLs, and fat jar rules

Distribution is Maven Central, coordinates com.formdev flatlaf with the current version, or a direct jar download from Central for non Maven builds. The native side has its own care, a documented native libraries distribution page explains how to redistribute FlatLaf's native libraries with an application, and the Windows DLLs carry free code signing provided by SignPath.io with a certificate from the SignPath Foundation, the difference between a clean install and a smart screen warning. Two packaging hazards are documented with fixes, fat or uber jar builds must add Multi-Release true to the manifest, keep the META-INF/versions and META-INF/services directories, and merge equally named service files, while obfuscation and shrinking tools such as ProGuard or Shadow must exclude the com.formdev.flatlaf package and subpackages entirely, since reflection based look and feels break under renaming.

## Five addons, from themes to fonts

The core is surrounded by a deliberate addon family. The IntelliJ Themes Pack bundles many popular open source third party themes created for the IntelliJ Platform, letting FlatLaf applications wear themes authored for an IDE. Extras adds SVG icon support, a tri-state check box, UI inspectors for debugging component properties, and more. SwingX and JIDE Common Layer addons extend support to those component libraries, the practical requirement for applications built before Swing's modern era. And Fonts packages some font families in easy to use and redistributable jars, sparing applications from bundling typography by hand. Each addon is a separate artifact, so the core dependency stays minimal and capabilities arrive only where used.

## Theming as properties files, with an editor

Customization is file based rather than code based, the documentation covering themes, customizing, how to customize, properties files, per component UI properties, typography, client properties and system properties, a layered model where defaults ship in properties files and overrides compose on top. The Properties Files page defines the format, and the Components page enumerates the UI properties each Swing component exposes, the knobs a theme actually turns. For building themes rather than tweaking them, the project ships a Theme Editor application supporting editing FlatLaf theme properties files directly, downloadable separately, which turns theme development from hand editing key value files into a visual loop with live preview, and third party themes distributed as properties files load through the same machinery. The client properties layer is the escape hatch for per component behavior that no global theme should decide, and system properties cover the process wide switches, so the three levels, theme file, client property, system property, give applications a place to put every kind of override without fighting the framework.

## Adopted by profilers, IDEs and Burp Suite

The applications list is the strongest evidence in the README, and its composition says something about who needs good Swing rendering. Featured users include JFormDesigner, the commercial GUI designer from FlatLaf's own creators, JProfiler and install4j from ej-technologies, DbVisualizer, Thermo-Calc, and Apache NetBeans, an IDE shipping FlatLaf to its entire user base. The data category lists Constellation, Jailer, Kafka Visualizer, MagicPlot, QStudio, RedisFront, Ultorg and Zettelkasten, tools where developers stare at grids and trees all day. And the security category is striking, Burp Suite Professional and Community, plus BurpCustomizer which adds more FlatLaf themes to Burp, and Ghidra, the NSA's reverse engineering suite, meaning a large fraction of professional security work happens inside FlatLaf themed Swing. BurpCustomizer is the telling entry in that list, a third party plugin existing solely to bring more FlatLaf themes into another application, which only happens when a look and feel has become the shared visual language of a professional community.

## A Gradle monorepo with a BOM and natives module

The repository layout mirrors the product structure, flatlaf-core as the engine, the addon modules flatlaf-extras, flatlaf-intellij-themes, flatlaf-swingx, flatlaf-jide-oss and flatlaf-fonts beside it, flatlaf-natives holding the platform libraries, flatlaf-demo and flatlaf-testing for verification, flatlaf-theme-editor as the customization tool, and a flatlaf-bom for dependency management in consuming builds. Snapshot binaries live on Sonatype Central's snapshot repository, accessible by switching the version to a -SNAPSHOT form and adding the snapshots repository to Maven or Gradle, a documented path for riding fixes before release. Gradle Kotlin DSL drives the build with buildSrc, and the whole tree follows editorconfig and git attributes conventions for consistent contributions.

## Sponsors in and out, and a steady 3.7 line

Sponsorship has a visible churn worth reading, current sponsors are sooptim and ExoCharts, while previous sponsors include ej-technologies, DbVisualizer and DCS AG, companies that appear again in the applications list, the pattern of users paying for the tooling they build on. The buzz section archives the project's Reddit history, the original FlatLaf announcement, the 1.0 announcement, and the 3.0 and 3.1 announcement threads on r/java, a public growth record. Releases are steady and current, 3.7 on 2025-12-04, 3.7.1 on 2026-03-10 and 3.7.2 on 2026-07-09, with the repository pushed 2026-09-24, and the license is Apache 2.0 with a changelog tracking each release's component level fixes.

## Conclusion

Adopt FlatLaf when a Swing application needs a modern appearance with minimal effort, one setup call and the theming, HiDPI handling and component styling arrive together, with Darcula and IntelliJ themes matching what developers already use all day. It does not apply to JavaFX or SWT applications, look and feel is a Swing concept. Before integrating, follow the packaging rules if you build fat jars or run ProGuard or Shadow, the Multi-Release manifest attribute and the com.formdev.flatlaf package exclusions are load bearing, and pick between Maven Central releases and Sonatype snapshots based on how close to development you need to ride. Use the Theme Editor to customize before writing any properties files by hand.

## FAQ

### what is flatlaf in java?

FlatLaf is a modern open source cross-platform look and feel for Java Swing desktop applications, nearly flat with no shadows or gradients, shipping Light, Dark, IntelliJ and Darcula themes inspired by IntelliJ IDEA 2019.2. It scales on HiDPI displays and runs on Java 8 or newer.

### how to use flatlaf?

Add a single call before creating any Swing component in your main method, FlatLightLaf.setup(), then build the UI as usual. To preview first, run the demo jar with java -jar flatlaf-demo followed by the version, which requires Java 8 or newer.

### how to install flatlaf?

Add a dependency with groupId com.formdev and artifactId flatlaf at the current version from Maven Central, in Maven or Gradle, or download the flatlaf jar directly from Central. Snapshot builds are available on Sonatype Central's snapshot repository using a -SNAPSHOT version.

### Is Flatlaf free?

Yes, FlatLaf is open source under the Apache License 2.0, free to use in commercial and non commercial applications, with sponsorship available for those who want to support development.

## Sources

- [JFormDesigner/FlatLaf on GitHub](https://github.com/JFormDesigner/FlatLaf)
- [License: Apache-2.0](https://github.com/JFormDesigner/FlatLaf/blob/main/LICENSE)
- [Project website](https://www.formdev.com/flatlaf/)
- [README](https://github.com/JFormDesigner/FlatLaf/blob/main/README.md)
- [Releases](https://github.com/JFormDesigner/FlatLaf/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/jformdesigner-flatlaf
