Herringbone

헤링본

Named for its resemblance to a herring's skeleton — rows of V-shaped weave, each row offset just enough to interlock with the next.

Also known as: 청어뼈무늬Fishbone weave
···
html
<div class="wrap"><svg viewBox="0 0 113 57" preserveAspectRatio="xMidYMid slice" width="100%" height="100%">
  <defs>
    <pattern id="hb" width="28.28" height="14.14" patternUnits="userSpaceOnUse">
      <rect width="28.28" height="14.14" fill="#f1ebdd"/>
      <g stroke="#f1ebdd" stroke-width="0.9" stroke-linejoin="round">
        <g fill="#8a5f3a">
          <polygon points="-7.07,-7.07 0,-14.14 14.14,0 7.07,7.07"/>
          <polygon points="-7.07,-7.07 0,-14.14 14.14,0 7.07,7.07" transform="translate(28.28,0)"/>
          <polygon points="-7.07,-7.07 0,-14.14 14.14,0 7.07,7.07" transform="translate(0,14.14)"/>
          <polygon points="-7.07,-7.07 0,-14.14 14.14,0 7.07,7.07" transform="translate(28.28,14.14)"/>
          <polygon points="-7.07,-7.07 0,-14.14 14.14,0 7.07,7.07" transform="translate(0,-14.14)"/>
          <polygon points="-7.07,-7.07 0,-14.14 14.14,0 7.07,7.07" transform="translate(28.28,-14.14)"/>
        </g>
        <g fill="#a9754a">
          <polygon points="7.07,7.07 21.21,-7.07 28.28,0 14.14,14.14"/>
          <polygon points="7.07,7.07 21.21,-7.07 28.28,0 14.14,14.14" transform="translate(-28.28,0)"/>
          <polygon points="7.07,7.07 21.21,-7.07 28.28,0 14.14,14.14" transform="translate(0,14.14)"/>
          <polygon points="7.07,7.07 21.21,-7.07 28.28,0 14.14,14.14" transform="translate(-28.28,14.14)"/>
          <polygon points="7.07,7.07 21.21,-7.07 28.28,0 14.14,14.14" transform="translate(0,-14.14)"/>
          <polygon points="7.07,7.07 21.21,-7.07 28.28,0 14.14,14.14" transform="translate(-28.28,-14.14)"/>
        </g>
      </g>
      <animateTransform attributeName="patternTransform" type="translate" from="0 0" to="-28.28 -14.14" dur="9s" repeatCount="indefinite"/>
    </pattern>
  </defs>
  <rect width="100%" height="100%" fill="url(#hb)"/>
</svg></div><span class="tag">herringbone</span>
css
.wrap{position:absolute;inset:0;overflow:hidden}
.tag{position:absolute;left:10px;bottom:8px;padding:3px 9px;border-radius:999px;background:rgba(58,35,15,.82);
  color:#f7f0e2;font:600 10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}

The layout traces back to Roman road paving (opus spicatum, bricks set on edge in interlocking rows) and appears naturally wherever twill weaving is used — it's the signature texture of tweed suiting.

It's often confused with chevron, but the two differ structurally: chevron's peaks line up at the exact same point row after row in a mirrored zigzag, while herringbone's short "plank" segments are offset by half a unit from the row above, so they interlock rather than mirror. That offset is what gives herringbone its ragged, fish-spine feel.

Approximating a plank with plain diagonal stripes (two 45°/−45° gradient layers overlaid) produces a crosshatch lattice, not teeth — the plank being a short rectangle is exactly what matters. In SVG, a plank with a 1:2 width-to-length ratio, laid at 45°, becomes a pair of interlocking kite shapes inside one repeat tile. Parquet flooring, tweed, and herringbone brick paving are all built on the same underlying logic.

When to use

Use for tweed texture, flooring/tile mockups, or any background that should read as woven rather than printed.