staticdata.dev
Menu
Datasets About Contact

CSS Properties

671 CSS properties sourced from the MDN Web Docs data repository (mdn-data 2.37.2, as of October 2026), covering standard, experimental, and vendor-prefixed properties. Each entry includes the formal syntax, whether the property is inherited, its initial value, which CSS specification groups it belongs to, and how percentage values are interpreted.

v1.0.0 MIT 671 records Updated 2026-10-05 stable Source:  MDN Web Docs — CSS Properties Data

Quick fetch

Stable URL. CORS-enabled. No auth.

bash
curl https://staticdata.dev/v1/css-properties.json

Or use as a typed import: import { cssProperties } from "https://staticdata.dev/v1/css-properties.ts"

Formats

  • JSON 159.1 KB

    /v1/css-properties.json

    Open

    min: 120.7 KB · /v1/css-properties.min.json

  • CSV 71.7 KB

    /v1/css-properties.csv

    Open
  • TypeScript 159.3 KB

    /v1/css-properties.ts

    export const cssProperties

    type CssProperty = (typeof cssProperties)[number]

    Open

Schema

Each record in the dataset has the following shape.

Schema
Field Type Description Example
name string CSS property name background-color
syntax string Formal CSS value syntax <color>
inherited boolean Whether the property is inherited false
initial string | string[] Initial (default) value; an array of longhand property names for shorthands transparent
groups string[] CSS specification groups this property belongs to ["CSS Backgrounds and Borders"]
percentages string | string[] How percentage values are resolved, or 'no' if not applicable; an array of longhand names for shorthands no

Preview

First 10 records.

Data preview
namesyntaxinherited
-moz-appearancenone | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximizedfalse
-moz-binding<url> | nonefalse
-moz-border-bottom-colors<color>+ | nonefalse
-moz-border-left-colors<color>+ | nonefalse
-moz-border-right-colors<color>+ | nonefalse
-moz-border-top-colors<color>+ | nonefalse
-moz-context-propertiesnone | [ fill | fill-opacity | stroke | stroke-opacity ]#true
-moz-float-edgeborder-box | content-box | margin-box | padding-boxfalse
-moz-force-broken-image-icon0 | 1false
-moz-orientinline | block | horizontal | verticalfalse

Showing 10 of 671. View full data:  JSON · CSV

Fetch examples

Drop-in snippets in five languages.

curl
curl -sSL https://staticdata.dev/v1/css-properties.json | jq '.[0]'
JavaScript
import type { CssProperty } from "https://staticdata.dev/v1/css-properties.ts";

const res = await fetch("https://staticdata.dev/v1/css-properties.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const cssProperties: CssProperty[] = await res.json();
console.log(cssProperties[0]);
Python
import urllib.request, json

with urllib.request.urlopen("https://staticdata.dev/v1/css-properties.min.json") as r:
    cssProperties = json.load(r)

print(cssProperties[0])
Go
package main

import (
	"encoding/json"
	"fmt"
	"net/http"
)

func main() {
	resp, err := http.Get("https://staticdata.dev/v1/css-properties.min.json")
	if err != nil { panic(err) }
	defer resp.Body.Close()

	var data []map[string]any
	if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
		panic(err)
	}
	fmt.Println(data[0])
}
Rust
use serde_json::Value;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let body = ureq::get("https://staticdata.dev/v1/css-properties.min.json").call()?.into_string()?;
    let data: Vec<Value> = serde_json::from_str(&body)?;
    println!("{:?}", data.first());
    Ok(())
}

Sources and methodology

The data is sourced directly from the MDN Web Docs data repository, specifically the css/properties.json file maintained by the MDN community. The mdn/data project is released under CC0. Custom property wildcards (--*) are excluded; all other 671 named properties in mdn-data 2.37.2 (as of October 2026) are included, spanning standard properties, vendor-prefixed extensions (-moz-, -webkit-, -ms-), and experimental features.

The syntax field uses the CSS formal syntax notation as defined by the CSS specifications. The initial field reflects the spec-defined initial value, which may be a keyword like auto, a concrete value like 0, or a prose reference like seeIndividualProperties. The percentages field describes how percentage values are resolved (e.g., referToWidthOfContainingBlock), or "no" if percentages are not accepted.

This dataset is useful for building CSS linters, code editors with property validation, documentation tools, or any application that needs programmatic access to CSS property metadata. The groups array maps each property to one or more CSS specification modules (e.g., "CSS Flexible Box Layout", "CSS Grid Layout"), enabling filtering by feature area.

Versioning

URLs under /v1/ are stable: field names and types will not change in a way that breaks consumers. Values can be corrected or records added when the upstream source changes; schema-incompatible updates ship under a new version path. See the css-properties changelog for this dataset's history.

Related datasets

More Code datasets