FlatLaf is a modern open-source cross-platform Look and Feel for Java Swing desktop applications.
It looks almost flat (no shadows or gradients), clean, simple and elegant. FlatLaf comes with Light, Dark, IntelliJ and Darcula themes, scales on HiDPI displays and runs on Java 8 or newer (LTS and latest).
The look is heavily inspired by Darcula and IntelliJ themes from IntelliJ IDEA 2019.2+ and uses almost the same colors and icons.
FlatLaf can use 3rd party themes created for IntelliJ Platform (see IntelliJ Themes Pack):
Run demo with java -jar flatlaf-demo-<version>.jar (or double-click it).
Requires Java 8 or newer.
FlatLaf binaries are available on Maven Central.
If you use Maven or Gradle, add a dependency with following coordinates to your build script:
groupId: com.formdev
artifactId: flatlaf
version: (see button below)
Otherwise, download flatlaf-<version>.jar here:
- See Native Libraries distribution for instructions on how to redistribute FlatLaf native libraries with your application.
- Windows DLLs: Free code signing provided by SignPath.io, certificate by SignPath Foundation.
- If repackaging FlatLaf (and other) JARs into a single fat/uber JAR:
- add
Multi-Release: truetoMETA-INF/MANIFEST.MF - keep
META-INF/versions/andMETA-INF/services/directories - merge content of equally named files in
META-INF/services/
- add
- If using obfuscation/minimizing/shrinking tools (e.g. ProGuard or
Shadow), exclude package
com.formdev.flatlafand all sub-packages.
FlatLaf snapshot binaries are available on
Sonatype Central.
To access the latest snapshot, change the FlatLaf version in your dependencies
to <version>-SNAPSHOT (e.g. 3.7-SNAPSHOT) and add the repository
https://central.sonatype.com/repository/maven-snapshots/ to your build (see
Maven
and
Gradle
docs).
- IntelliJ Themes Pack - bundles many popular open-source 3rd party themes
- Extras - SVG icon, tri-state check box, UI inspectors, and more
- SwingX - support for SwingX components
- JIDE Common Layer - support for JIDE Common Layer components
- Fonts - some font families bundled in easy-to-use and redistributable JARs
To use FlatLaf, add following code to your main method before you create any Swing component:
FlatLightLaf.setup();
// create UI here...For more information and documentation visit FlatLaf Home:
- Themes
- Customizing
- How to Customize
- Properties Files
- Components UI Properties
- Typography
- Client Properties
- System Properties
The Theme Editor that supports editing FlatLaf theme properties files. See Theme Editor documentation for details and downloads.
- FlatLaf 3.1 (and 3.0) announcement on Reddit
- FlatLaf 1.0 announcement on Reddit
- FlatLaf announcement on Reddit
JFormDesigner (commercial) - Java/Swing GUI Designer (from the FlatLaf creators)
JProfiler (commercial) - the award-winning all-in-one Java profiler
install4j (commercial) - the powerful multi-platform Java installer builder
DbVisualizer (commercial) - the universal database tool for developers, analysts and DBAs
Apache NetBeans - IDE for Java, PHP, HTML and much more
Thermo-Calc (commercial) - Thermodynamics and Properties Software
- Constellation - Data Visualization and Analytics (based on NetBeans platform)
- Jailer - database subsetting and relational data browsing tool
- Kafka Visualizer - Kafka GUI client
MagicPlot (commercial) - Software for nonlinear fitting, plotting and data analysis
- QStudio - free SQL editor
- RedisFront - Cross-platform redis GUI
Ultorg (commercial) - a visual query system for relational databases
- Zettelkasten - knowledge management tool
- Burp Suite Professional and Community Edition (commercial) - the leading software for web security testing
- BurpCustomizer - adds more FlatLaf themes to Burp Suite
- Ghidra - a software reverse engineering (SRE) framework
- jadx - Dex to Java decompiler
- JPass - password manager with strong encryption
- Total Validator (commercial) - checks your website
ZAP - the world's most widely used web app scanner
- Consulo - open source cross-platform multi-language IDE (Java, .NET, JS, etc)
- Convertigo - low code & no code mobile & web platform
EasyPostman - API debugging and stress testing
- EduMIPS64 - visual MIPS64 CPU simulator
- Guiffy (commercial) - advanced cross-platform Diff/Merge
- HashGarten - cross-platform Swing GUI for Jacksum
jclasslib bytecode viewer
KeyStore Explorer
- Launch4j - cross-platform Java executable wrapper
- Linotte - French programming language created to learn programming
- lsfusion platform - information systems development platform
- muCommander - lightweight cross-platform file manager
- Pseudo Assembler IDE - IDE for Pseudo-Assembler
Sierra - declarative UI for Java
- Antares - a free, powerful platform for designing, simulating and explaining digital circuits
- GUIslice Builder - GUI builder for GUIslice, a lightweight GUI framework for embedded displays
- Logisim-evolution - Digital logic design tool and simulator
- Makelangelo Software - for plotters, especially the wall-hanging polargraph
- OpenPnP - SMT Pick and Place Hardware and Software
- RemoteLight - multifunctional LED control software
- ThunderFocus - Arduino-based telescope focuser
- TrainControl - control Marklin / Trix / DCC digital model train layout
- Cinecred - create beautiful film credit sequences
jAlbum (commercial) - creates photo album websites
- lectureStudio - digitize your lectures with ease
- MediathekView - search in media libraries of various German broadcasters
- Nortantis - fantasy map generator and editor
- Novel-Grabber - download novels from any webnovel and lightnovel site
- Pixelitor - image editor
- Shutter Encoder (source code) - professional video converter and compression tool
- Sound Analysis - analyze sound files in time or frequency domain
- tinyMediaManager (commercial) - a media management tool
- Weasis - medical DICOM viewer used in healthcare by hospitals, health networks, etc
- Astah (commercial) - create UML, ER Diagram, Flowchart, Data Flow Diagram, Requirement Diagram, SysML diagrams and more
Gephi - the Open Graph Viz Platform
- IGMAS+ - Interactive Gravity and Magnetic Application System
OpenRocket - model-rocketry aerodynamics and trajectory simulation software
- SSPlot - plotting utility for plotting CSV data
- StarPlan (commercial) - die Stundenplan Software für Bildungseinrichtungen
- Warteschlangensimulator - discrete-event stochastic simulator
- Big Faceless (BFO) PDF Viewer (commercial) - Swing PDF Viewer
- PDF Studio (commercial) - create, review and edit PDF documents
- XMLmind XML Editor (commercial)
JOSM - an extensible editor for OpenStreetMap (requires FlatLaf JOSM plugin)
- Mapton (source code) - some kind of map application (based on NetBeans platform)
- MeteoInfo - GIS and scientific computation environment for meteorological community
- Fanurio (commercial) - time tracking and billing for freelancers and teams
- Jes - Die Java-EÜR
Jeyla Studio - Salon Software
j-lawyer - Kanzleisoftware
Lisheane ERP (commercial) - backoffice applikation
- mendelson AS2, AS4 and OFTP2 (open-source) and mendelson AS2, AS4 and OFTP2 (commercial)
- Chatty - Twitch Chat Client
- Spark - cross-platform IM client optimized for businesses and organizations
BGBlitz (commercial) - professional Backgammon
- ControllerBuddy - advanced gamepad mapping software
- josé - a graphical chess tool
- MapTool - virtual Tabletop for playing role-playing games
- MCreator - make Minecraft Java Edition mods, Minecraft Bedrock Edition Add-Ons, and data packs
- MegaMek, MegaMekLab and MekHQ - a sci-fi tabletop BattleTech simulator suite handling battles, unit building, and campaigns
- Android Tool - makes popular adb and fastboot commands easier to use
- jEnTunnel - manage SSH Tunnels made easy
- Linux Task Manager (LTM) - GUI for monitoring and managing various aspects of a Linux system
- MooInfo - visual implementation of OSHI, to view information about the system and hardware
QTranslate - desktop translation suite (translation, OCR, TTS, spell-checking)
- Rest Suite - Rest API testing
- SpringRemote - remote Linux SSH connections manager
- Termora - Terminal emulator and SSH client
- MEKA - multi-label classifiers and evaluation procedures using the Weka machine learning framework






