Theming and branding
Customize colors, logos, fonts, and appearance for your documentation site.
You control the visual identity of your docs through the colors, logo, favicon, fonts, and appearance fields in docs.json. This page covers each theming option in detail.
The colors object defines your brand palette. Only primary is required -- all other values are derived automatically if omitted.
{
"colors": {
"primary": "#0D9373",
"light": "#CFF6EE",
"dark": "#0C3A33"
}
}All color values should be hex codes (e.g., #0D9373). The derived colors
work well for most brands, so start with just primary and customize from
there.
The logo field sets the image displayed in the navbar. You can provide a single URL or separate light/dark variants.
{
"logo": {
"light": "/images/logo-light.svg",
"dark": "/images/logo-dark.svg"
}
}Use SVG logos for the best quality at all screen sizes. Place logo files in
your docs directory and reference them with a relative path like
/images/logo.svg.
The favicon field sets the browser tab icon. Like logos, you can provide a single path or light/dark variants.
{
"favicon": "/images/favicon.svg"
}The fonts object controls typography across your site. You can set separate families for headings, body text, and monospace code.
{
"fonts": {
"heading": "Inter",
"body": "Inter",
"mono": "JetBrains Mono",
"provider": "google"
}
}For fine-grained control, you can use font objects instead of strings. This is useful for self-hosted fonts or when you need specific weights.
{
"fonts": {
"heading": {
"family": "Cal Sans",
"source": "/fonts/CalSans-SemiBold.woff2",
"format": "woff2",
"weight": 600
},
"body": {
"family": "Inter",
"source": "/fonts/Inter-Regular.woff2",
"format": "woff2",
"weight": 400
Set provider to google and specify font family names. Blode.md automatically loads the fonts from Google Fonts CDN.
{
"fonts": {
"heading": "Poppins",
"body": "Open Sans",
"provider": "google"
}
}If you host your own font CSS (or use a service like Adobe Fonts), set provider to custom and provide the cssUrl.
{
"fonts": {
"heading": "MyCustomFont",
"body": "MyCustomFont",
"provider": "custom",
"cssUrl": "https://fonts.example.com/my-custom-font.css"
}
}The appearance object controls dark/light mode behavior.
{
"appearance": {
"default": "system",
"strict": false
}
}The top-level theme field selects the overall visual template for your docs. Set it to a theme name like mint.
{
"theme": "mint"
}Here is a fully themed docs.json:
{
"$schema": "https://mintlify.com/docs.json",
"name": "my-project",
"theme": "mint",
"colors": {
"primary": "#6366F1",
"light": "#E0E7FF",
"dark": "#312E81",
"background": "#FAFAFA",
"surface": "#F3F4F6"
},
"logo": {
"light":