Flowbite
lint passFlowbite is an open-source component library built on Tailwind CSS. Its design language is utility-first and Tailwind-native: Inter typography, an electric brand blue, Tailwind's neutral gray ramp, and generous rounding. The values here reflect Flowbite's documented default theme (open-source core, not Pro).
best for: Tailwind CSS projects wanting ready components · Marketing sites and SaaS dashboards · Teams standardizing on a Tailwind-native look
## get the file
Actions## colors
- primary#1C64F2
- on-primary#FFFFFF
- primary-strong#1A56DB
- link#1C64F2
- surface#FFFFFF
- on-surface#111827
- on-surface-variant#6B7280
- surface-variant#F9FAFB
- fill#F3F4F6
- border#E5E7EB
- success#0E9F6E
- warning#9F580A
- error#E02424
## typography
- displayInter · 3rem · 800 · lh 1.1
- headingInter · 1.875rem · 700 · lh 1.2
- titleInter · 1.25rem · 600 · lh 1.4
- bodyInter · 1rem · 400 · lh 1.6
- body-smInter · 0.875rem · 400 · lh 1.5
- labelInter · 0.875rem · 500 · lh 1.4
- codeJetBrains Mono · 0.875rem · 400 · lh 1.5
## spacing
- xxs4px
- xs8px
- sm12px
- md16px
- lg24px
- xl32px
- 2xl48px
## shapes
- sm4px
- md8px
- lg12px
- full9999px
## component tokens
| component | property | value |
|---|---|---|
| button-primary | backgroundColor | {colors.primary} |
| textColor | {colors.on-primary} | |
| rounded | {rounded.md} | |
| padding | 10px 20px | |
| button-primary-hover | backgroundColor | {colors.primary-strong} |
| textColor | {colors.on-primary} | |
| button-secondary | backgroundColor | {colors.surface} |
| textColor | {colors.on-surface} | |
| rounded | {rounded.md} | |
| padding | 10px 20px | |
| card | backgroundColor | {colors.surface} |
| textColor | {colors.on-surface} | |
| rounded | {rounded.lg} | |
| padding | {spacing.lg} | |
| section | backgroundColor | {colors.surface-variant} |
| textColor | {colors.on-surface} | |
| padding | {spacing.lg} | |
| badge-neutral | backgroundColor | {colors.fill} |
| textColor | {colors.on-surface} | |
| rounded | {rounded.sm} | |
| padding | 2px 10px | |
| input | backgroundColor | {colors.surface} |
| textColor | {colors.on-surface} | |
| rounded | {rounded.md} | |
| padding | 10px 12px | |
| link | textColor | {colors.link} |
| caption | textColor | {colors.on-surface-variant} |
| typography | {typography.body-sm} | |
| divider | backgroundColor | {colors.border} |
| height | 1px | |
| badge-success | backgroundColor | {colors.success} |
| textColor | {colors.on-surface} | |
| rounded | {rounded.full} | |
| padding | 2px 10px | |
| status-warning | textColor | {colors.warning} |
| typography | {typography.label} | |
| badge-error | backgroundColor | {colors.error} |
| textColor | {colors.on-primary} | |
| rounded | {rounded.full} | |
| padding | 2px 10px |
## preview as an app
See these tokens as full screens — an approximation of the system's language, not its official components.
## raw file
DESIGN.md — view raw file
---
version: alpha
name: Flowbite
description: A Tailwind-native component system — Inter, an electric brand blue, and utility-first neutrals.
colors:
primary: "#1C64F2"
on-primary: "#FFFFFF"
primary-strong: "#1A56DB"
link: "#1C64F2"
surface: "#FFFFFF"
on-surface: "#111827"
on-surface-variant: "#6B7280"
surface-variant: "#F9FAFB"
fill: "#F3F4F6"
border: "#E5E7EB"
success: "#0E9F6E"
warning: "#9F580A"
error: "#E02424"
typography:
display:
fontFamily: Inter
fontSize: 3rem
fontWeight: 800
lineHeight: 1.1
letterSpacing: -0.02em
heading:
fontFamily: Inter
fontSize: 1.875rem
fontWeight: 700
lineHeight: 1.2
title:
fontFamily: Inter
fontSize: 1.25rem
fontWeight: 600
lineHeight: 1.4
body:
fontFamily: Inter
fontSize: 1rem
fontWeight: 400
lineHeight: 1.6
body-sm:
fontFamily: Inter
fontSize: 0.875rem
fontWeight: 400
lineHeight: 1.5
label:
fontFamily: Inter
fontSize: 0.875rem
fontWeight: 500
lineHeight: 1.4
code:
fontFamily: JetBrains Mono
fontSize: 0.875rem
fontWeight: 400
lineHeight: 1.5
rounded:
sm: 4px
md: 8px
lg: 12px
full: 9999px
spacing:
xxs: 4px
xs: 8px
sm: 12px
md: 16px
lg: 24px
xl: 32px
2xl: 48px
components:
button-primary:
backgroundColor: "{colors.primary}"
textColor: "{colors.on-primary}"
rounded: "{rounded.md}"
padding: 10px 20px
button-primary-hover:
backgroundColor: "{colors.primary-strong}"
textColor: "{colors.on-primary}"
button-secondary:
backgroundColor: "{colors.surface}"
textColor: "{colors.on-surface}"
rounded: "{rounded.md}"
padding: 10px 20px
card:
backgroundColor: "{colors.surface}"
textColor: "{colors.on-surface}"
rounded: "{rounded.lg}"
padding: "{spacing.lg}"
section:
backgroundColor: "{colors.surface-variant}"
textColor: "{colors.on-surface}"
padding: "{spacing.lg}"
badge-neutral:
backgroundColor: "{colors.fill}"
textColor: "{colors.on-surface}"
rounded: "{rounded.sm}"
padding: 2px 10px
input:
backgroundColor: "{colors.surface}"
textColor: "{colors.on-surface}"
rounded: "{rounded.md}"
padding: 10px 12px
link:
textColor: "{colors.link}"
caption:
textColor: "{colors.on-surface-variant}"
typography: "{typography.body-sm}"
divider:
backgroundColor: "{colors.border}"
height: 1px
badge-success:
backgroundColor: "{colors.success}"
textColor: "{colors.on-surface}"
rounded: "{rounded.full}"
padding: 2px 10px
status-warning:
textColor: "{colors.warning}"
typography: "{typography.label}"
badge-error:
backgroundColor: "{colors.error}"
textColor: "{colors.on-primary}"
rounded: "{rounded.full}"
padding: 2px 10px
---
## Overview
Flowbite is a Tailwind-native, open-source component system. Its language is
utility-first and modern: Inter typography, an electric brand blue
(`{colors.primary}`), Tailwind's neutral gray ramp, and generous rounding. It
suits teams already building with Tailwind who want a consistent, ready-made
component look.
Reach for Flowbite for Tailwind projects — marketing sites, SaaS dashboards, and
admin UIs that should feel current and utility-first.
## Colors
- **primary (`#1C64F2`) / on-primary (`#FFFFFF`)** — the electric brand blue for
primary actions; **primary-strong (`#1A56DB`)** for hover/pressed.
- **link (`#1C64F2`)** — inline links.
- **surface (`#FFFFFF`) / surface-variant (`#F9FAFB`)** — content and section
backgrounds; **fill (`#F3F4F6`)** for neutral badges and quiet fills.
- **on-surface (`#111827`) / on-surface-variant (`#6B7280`)** — primary and
secondary text (Tailwind gray-900 / gray-500).
- **border (`#E5E7EB`)** — the default control and divider line.
- **success (`#0E9F6E`) / warning (`#9F580A`) / error (`#E02424`)** — status
colours; success as a fill with dark text, warning as text, error as a fill.
All text pairings above meet WCAG AA against their stated backgrounds.
## Typography
Flowbite uses **Inter** (open, SIL OFL, on Google Fonts), with **JetBrains Mono**
for code. Headings lean bold and tight; body is comfortable at
`{typography.body}` with a 1.6 line height.
- **display / heading / title** — Inter Bold/Semibold for the title hierarchy.
- **body / body-sm** — Inter Regular for reading and dense UI text.
- **label** — Inter Medium for buttons, form labels, and captions.
- **code** — `{typography.code}` for snippets and identifiers.
## Spacing & Layout
Spacing is Tailwind's 4px scale: `{spacing.xxs}` (4px) through `{spacing.md}`
(16px) to `{spacing.2xl}` (48px). Use `{spacing.lg}`–`{spacing.xl}` for card and
section padding. Rounding is generous — `{rounded.md}` (8px) for controls,
`{rounded.lg}` for cards, `{rounded.full}` for pills and avatars.
## Components
- **button-primary** — `{colors.primary}` with `{colors.on-primary}`, `{rounded.md}`
corners; hover shifts to `{colors.primary-strong}`.
- **button-secondary** — `{colors.surface}` with a `{colors.border}` outline and
`{colors.on-surface}` label.
- **card / section** — `{colors.surface}` cards on `{colors.surface-variant}`
sections.
- **badge-neutral** — `{colors.fill}` chip with `{colors.on-surface}` text.
- **input** — `{colors.surface}` field, `{colors.border}` outline, `{rounded.md}`
corners; focus uses a `{colors.primary}` ring.
- **link** — `{colors.link}` text.
- **caption** — `{colors.on-surface-variant}` secondary text.
- **divider** — a 1px `{colors.border}` hairline.
- **badge-success / status-warning / badge-error** — status in `{colors.success}`,
`{colors.warning}`, and `{colors.error}`.
## Motion
Flowbite motion is light: 150–300ms transitions on hover, focus, dropdowns, and
modals. Honour `prefers-reduced-motion`.
## Do's and Don'ts
- **Do** keep `{colors.primary}` for interaction; **don't** use it as a large
decorative fill.
- **Do** use generous rounding (`{rounded.md}`–`{rounded.lg}`); **don't** square
everything off.
- **Do** layer `{colors.surface}` on `{colors.surface-variant}` sections;
**don't** rely on heavy shadows.
- **Do** keep status colours semantic and AA (success as a fill with dark text);
**don't** set bright green as small text on white.
- **Do** set copy in Inter and code in `{typography.code}`; **don't** mix
families within a run.
- **Do** stay on Tailwind's 4px spacing scale; **don't** invent off-scale values.
## Agent Prompt Guide
When generating UI in the Flowbite style:
1. Reference tokens by name (`{colors.primary}`, `{spacing.md}`,
`{typography.body}`) — never hardcode raw values.
2. Every text/background pairing must pass WCAG AA; validate against the palette.
3. Default composition: `{colors.surface-variant}` sections → `{colors.surface}`
cards → one `button-primary` per view, generous `{rounded.md}`–`{rounded.lg}`.
4. Use Inter and Tailwind's 4px spacing scale.
5. Inter is open — never ship proprietary font binaries.
6. If a needed token is missing, propose it in a PR — do not invent values.
## use it with your agent
target: CLAUDE.md · full guide →
# Fetch the design system file curl -fsSL https://api.agent-ds.oday-bakkour.com/v1/systems/flowbite/design.md -o DESIGN.md # CLAUDE.md — add: ## Design system Read ./DESIGN.md before writing or changing any UI. Use its tokens by name; never invent colors, radii, fonts, or spacing.
target: .cursor/rules/design-system.mdc · full guide →
# Fetch the design system file curl -fsSL https://api.agent-ds.oday-bakkour.com/v1/systems/flowbite/design.md -o DESIGN.md # .cursor/rules/design-system.mdc — add: --- description: Design system rules for all UI work globs: ["**/*.tsx", "**/*.css"] --- Read DESIGN.md at the repo root before generating UI. Reference its tokens by name; never invent values.
target: .kiro/steering/design-system.md · full guide →
# Fetch into Kiro's steering directory curl -fsSL https://api.agent-ds.oday-bakkour.com/v1/systems/flowbite/design.md \ -o .kiro/steering/design-system.md
target: global_rules.md · full guide →
# Fetch the design system file curl -fsSL https://api.agent-ds.oday-bakkour.com/v1/systems/flowbite/design.md -o DESIGN.md # global_rules.md — add: Before any UI change, read DESIGN.md at the repo root and use its design tokens exactly. Do not invent colors, type, spacing, or radii.
target: AGENTS.md · full guide →
# Fetch the design system file curl -fsSL https://api.agent-ds.oday-bakkour.com/v1/systems/flowbite/design.md -o DESIGN.md # AGENTS.md — add: ## UI & design system All UI follows ./DESIGN.md. Reference tokens by name; never invent colors, typography, spacing, or radii.
target: .github/copilot-instructions.md · full guide →
# Fetch the design system file curl -fsSL https://api.agent-ds.oday-bakkour.com/v1/systems/flowbite/design.md -o DESIGN.md # .github/copilot-instructions.md — add: When generating or editing UI, follow the design tokens and rules in DESIGN.md at the repository root. Never invent design values.
target: AGENTS.md · full guide →
# Fetch the design system file curl -fsSL https://api.agent-ds.oday-bakkour.com/v1/systems/flowbite/design.md -o DESIGN.md # AGENTS.md — add (OpenCode reads it at the repo root): ## UI & design system All UI follows ./DESIGN.md. Reference tokens by name; never invent colors, typography, spacing, or radii.
target: AGENTS.md · full guide →
# Fetch the design system file curl -fsSL https://api.agent-ds.oday-bakkour.com/v1/systems/flowbite/design.md -o DESIGN.md # AGENTS.md — add (pi loads it at startup; run /reload after editing): ## UI & design system All UI follows ./DESIGN.md. Reference tokens by name; never invent colors, typography, spacing, or radii.
## provenance
fetched 50 times · downloaded 0 times