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.
Quick fetch
Stable URL. CORS-enabled. No auth.
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
min: 120.7 KB · /v1/css-properties.min.json
- CSV 71.7 KB
/v1/css-properties.csv
- TypeScript 159.3 KB
/v1/css-properties.ts
export const cssProperties
type CssProperty = (typeof cssProperties)[number]
Schema
Each record in the dataset has the following shape.
| 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.
| name | syntax | inherited |
|---|---|---|
| -moz-appearance | none | 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-maximized | false |
| -moz-binding | <url> | none | false |
| -moz-border-bottom-colors | <color>+ | none | false |
| -moz-border-left-colors | <color>+ | none | false |
| -moz-border-right-colors | <color>+ | none | false |
| -moz-border-top-colors | <color>+ | none | false |
| -moz-context-properties | none | [ fill | fill-opacity | stroke | stroke-opacity ]# | true |
| -moz-float-edge | border-box | content-box | margin-box | padding-box | false |
| -moz-force-broken-image-icon | 0 | 1 | false |
| -moz-orient | inline | block | horizontal | vertical | false |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/css-properties.json | jq '.[0]' 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]); 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]) 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])
} 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
- ansi-colors
- ascii
- cron-presets
- css-at-rules
- css-functions
- css-pseudo-classes
- css-pseudo-elements
- css-units
- data-units
- exit-codes
- file-signatures
- hash-algorithms
- js-array-methods
- js-math-methods
- js-object-methods
- js-string-methods
- json-schema-keywords
- jwt-claims
- mathematical-constants
- measurement-units
- node-builtin-modules
- owasp-top-10
- periodic-table
- physical-constants
- posix-signals
- programming-languages
- regex-flags
- regex-patterns
- roman-numerals
- si-base-units
- si-derived-units
- si-prefixes
- spdx-licenses
- strftime-tokens
- tailwind-colors
- time-units
- unicode-blocks
- unicode-general-categories
- unicode-planes
- unix-file-permissions
- xterm-256-colors