Skip to content

Main content

CSS Duplicate Property Table

Audit declaration property duplicates with ordinary ASCII property folding and case-sensitive custom-property names; not a cascade engine.

Loading tool…

Description

Audit declaration property duplicates with ordinary ASCII property folding and case-sensitive custom-property names; not a cascade engine.

CSS combines token syntax, property-specific value rules and layout/cascade processing. These are separate layers: splitting a declaration does not establish that its value is valid, and arithmetic on resolved lengths does not perform browser layout. Each tool here handles an explicit numeric representation or a stated lexical subset.

Audit declaration property duplicates with ordinary ASCII property folding and case-sensitive custom-property names; not a cascade engine.

When to use this tool

Use this tool to audit declaration property duplicates with ordinary ASCII property folding and case-sensitive custom-property names; not a cascade engine.

How to use the tool and how it works

  1. Enter text using the input definitions below.
  2. Run the operation. Resolve malformed-input errors before interpreting the result.
  3. Read result.duplicates. Interpret signs, units, ordering and null values using the rules below.

Parse the declaration list, then group repeated normalized property names with all original declaration indexes in first-seen order. Ordinary names are lowercase; custom-property names retain case.1, 2

Input fieldMeaning and unitsAccepted input
textCSS-subset text to parse under the operation’s stated grammar.Text, at most 8,192 UTF-16 code units; the stated grammar and narrower limits also apply.
Output fieldInterpretation
resultObject containing the fields below.
result.duplicatesRepeated normalized property groups with declaration indexes.
json
{
  "input": {
    "text": "Color:red;color:blue;--X:1;--x:2"
  },
  "output": {
    "result": {
      "duplicates": [
        {
          "key": "color",
          "indexes": [
            0,
            1
          ]
        }
      ]
    }
  }
}

Limitations and assumptions

  • A duplicate occurrence is not automatically an error or a cascade winner; importance and other cascade rules need separate evaluation.
  • Lengths and times must already be resolved to consistent numeric units. Lexical helpers intentionally support smaller grammars than a full browser CSS parser; malformed supported-subset input causes an error.
  • Every declared top-level input is required and unknown fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
  • Numeric outputs must be finite and within the absolute safe-integer magnitude; exact larger integers use decimal text. Source positions are zero-based UTF-16 offsets and span ends are exclusive unless a different convention is explicitly stated.

Alternative or Complementary methods

Use a full CSS parser or browser style/layout APIs when escape handling, error recovery, computed styles or the full cascade matter. These tools expose focused transformations and audits of supplied data.

References

  1. CSS Syntax Level 3 — W3C

  2. Tool behavior and example: CSS Duplicate Property Table — tool.io

Similar or alternative tools

  • CSS Custom Property Name Token Audit

    Audit a deliberately restricted ASCII custom-property token grammar -- followed by letters/digits/underscore/dash; not full CSS identifier validation.

  • CSS Custom Property Reference Inventory

    Inventory unescaped ASCII var() reference names including nested fallbacks, ignoring quoted strings; existing variable-parser extracts declarations instead. Comment-free balanced CSS subset.