Mixed Header Case Conflict Check

Find header groups that collide after locale-independent lowercase conversion; preserve original spelling and report zero-based indices.

Description

Case-insensitive consumers may treat headers such as Name and name as the same key even though their spellings differ.

Case-insensitive consumers may treat headers such as Name and name as the same key even though their spellings differ. Checking folded names before import exposes these collisions without rewriting the original headers.1

Find header groups that collide after locale-independent lowercase conversion; preserve original spelling and report zero-based indices.

When to use Mixed Header Case Conflict Check

Use this tool to find header groups that collide after locale-independent lowercase conversion; preserve original spelling and report zero-based indices.

Choose the original CSV text, decoded cell strings, byte values or counts requested by this tool. Use the stated delimiter, encoding, indexing and number/date convention.

How to use Mixed Header Case Conflict Check and understand its results

  1. Choose the original CSV text, decoded cell strings, byte values or counts requested by this tool. Use the stated delimiter, encoding, indexing and number/date convention.
  2. Enter headers using the field table and calculation rules, then run the tool.
  3. Read conflicts. The explanation below defines the units, signs, ordering and any flags or placeholder values.
  4. If the tool reports an input issue, correct the values and run it again. Apply the stated assumptions when interpreting a successfully returned result.
Input fieldMeaningValue type; see rules belowRequirement
headersHeaderslist of string; maximum length: 10000; minimum entries: 0; maximum entries: 10000Required

Provide decoded header strings in their original order. Each entire string is lowercased with JavaScript's locale-independent conversion and grouped by that folded value. Only groups with multiple entries are returned, including exact duplicate spellings. Each group contains the folded text and every original zero-based position; groups follow first appearance order.

collision group = indices sharing header.toLowerCase(), with group size > 1

Units, indexing, boundary conditions and exceptional cases are defined in the calculation rules above.

Output fieldMeaningValue type
conflictsConflictslist of object
json
{
  "input": {
    "headers": [
      "Name",
      "age",
      "name"
    ]
  },
  "output": {
    "conflicts": [
      {
        "folded": "name",
        "indices": [
          0,
          2
        ]
      }
    ]
  }
}

Limitations and assumptions

Whitespace is preserved and Unicode normalization is not applied. This is lowercase comparison, not a complete Unicode case-folding or locale-specific matching algorithm. It reports collisions without selecting a winning column or renaming headers.

Numeric inputs must be finite. Follow the calculation-specific rules for overflow, underflow and exceptional cases. Cell-string lists also have a combined text budget of 100,000 UTF-16 units per list. Missing required fields, extra fields, wrong value types and violations of the calculation rules are input errors.

Alternative or Complementary methods

Use Duplicate Header Detector: Find exact case-sensitive duplicate header names with all zero-based positions, without trimming or changing header text. For a complementary task, use Header Dedupe Suffix Counter: Make exact duplicate headers unique with _2, _3, and later suffixes, reserving all original names so generated names never steal a later header.

References

  1. Mixed Header Case Conflict Check — tool.io

Similar or alternative tools

  • Duplicate Header Detector

    Find exact case-sensitive duplicate header names with all zero-based positions, without trimming or changing header text.

  • Header Dedupe Suffix Counter

    Make exact duplicate headers unique with _2, _3, and later suffixes, reserving all original names so generated names never steal a later header.

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies