https://framer.com/m/Leaderboardbars-wLDCas.js@waajjAGlYmTYcE2rbth0

Io / Enhancements / LeaderboardBars

LeaderboardBars

LeaderboardBars turns one JSON payload into a row of ranked bar panels — each sorted on its own terms, value-formatted, and marked with the vendor logo it belongs to.

Enhancements37 controlsJSON schemalogo registry
Enhancements9 controlsWebGL pointsthree data modes

Examples

Live specimens for every control the component exposes. The figures throughout this page are the component author’s illustrative sample set — they are not a measurement of any real model.

Default

One panels array in AI Schema; every other control left alone. Columns is 1 here so each board gets the full width of this column — leave it at 0 and the panels wrap on their own at Min Width instead. Each item carries its own colour, its vendor mark and a hover note.

Intelligence

Artificial Analysis Intelligence Index · Higher is better

63
62
61
61
60
60
57
56
53
52
38
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)
GLM-5.3 (max)
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)
DeepSeek V4 Pro 0813 (max)
GPT-5.6 Luna (max)
Nemotron 3 Ultra

Speed

Output tokens per second · Higher is better

373
149
145
102
77
72
70
69
56
37
Gemini 3.7 Flash (high)
GPT-5.6 Luna (max)
Nemotron 3 Ultra
GLM-5.3 (max)
DeepSeek V4 Pro 0813 (max)
GPT-5.6 Sol (max)
Claude Fable 5 (with fallback)
Grok 4.6 (high)
Claude Opus 5 (max)
Kimi K3 (max)

Cost per Task

Weighted average cost (USD) per Intelligence Index task · Lower is better

$0.05
$0.25
$0.38
$0.40
$0.40
$0.68
$0.84
$0.84
$1.23
$2.34
$3.14
GPT-5.6 Luna (max)
DeepSeek V4 Pro 0813 (max)
Nemotron 3 Ultra
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)
GLM-5.3 (max)
Grok 4.6 (high)
Kimi K3 (max)
GPT-5.6 Sol (max)
Claude Opus 5 (max)
Claude Fable 5 (with fallback)

Intelligence

Artificial Analysis Intelligence Index · Higher is better

63
62
61
61
60
60
57
56
53
52
38
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)
GLM-5.3 (max)
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)
DeepSeek V4 Pro 0813 (max)
GPT-5.6 Luna (max)
Nemotron 3 Ultra

Speed

Output tokens per second · Higher is better

373
149
145
102
77
72
70
69
56
37
Gemini 3.7 Flash (high)
GPT-5.6 Luna (max)
Nemotron 3 Ultra
GLM-5.3 (max)
DeepSeek V4 Pro 0813 (max)
GPT-5.6 Sol (max)
Claude Fable 5 (with fallback)
Grok 4.6 (high)
Claude Opus 5 (max)
Kimi K3 (max)

Cost per Task

Weighted average cost (USD) per Intelligence Index task · Lower is better

$0.05
$0.25
$0.38
$0.40
$0.40
$0.68
$0.84
$0.84
$1.23
$2.34
$3.14
GPT-5.6 Luna (max)
DeepSeek V4 Pro 0813 (max)
Nemotron 3 Ultra
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)
GLM-5.3 (max)
Grok 4.6 (high)
Kimi K3 (max)
GPT-5.6 Sol (max)
Claude Opus 5 (max)
Claude Fable 5 (with fallback)

Intelligence

Artificial Analysis Intelligence Index · Higher is better

63
62
61
61
60
60
57
56
53
52
38
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)
GLM-5.3 (max)
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)
DeepSeek V4 Pro 0813 (max)
GPT-5.6 Luna (max)
Nemotron 3 Ultra

Speed

Output tokens per second · Higher is better

373
149
145
102
77
72
70
69
56
37
Gemini 3.7 Flash (high)
GPT-5.6 Luna (max)
Nemotron 3 Ultra
GLM-5.3 (max)
DeepSeek V4 Pro 0813 (max)
GPT-5.6 Sol (max)
Claude Fable 5 (with fallback)
Grok 4.6 (high)
Claude Opus 5 (max)
Kimi K3 (max)

Cost per Task

Weighted average cost (USD) per Intelligence Index task · Lower is better

$0.05
$0.25
$0.38
$0.40
$0.40
$0.68
$0.84
$0.84
$1.23
$2.34
$3.14
GPT-5.6 Luna (max)
DeepSeek V4 Pro 0813 (max)
Nemotron 3 Ultra
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)
GLM-5.3 (max)
Grok 4.6 (high)
Kimi K3 (max)
GPT-5.6 Sol (max)
Claude Opus 5 (max)
Claude Fable 5 (with fallback)

Scale and baseline

baseline lifts the axis start so near-identical scores stop looking identical. “auto” always lands the shortest bar at exactly half height whatever the range; a number sets the start explicitly. Axis Note prints that start under the plot.

No baseline — zero-based

Intelligence

Zero-based axis

63
62
61
61
60
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

Intelligence

Zero-based axis

63
62
61
61
60
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

Intelligence

Zero-based axis

63
62
61
61
60
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

baseline “auto”

Intelligence

baseline "auto"

63
62
61
61
60
Axis starts at 57
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

Intelligence

baseline "auto"

63
62
61
61
60
Axis starts at 57
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

Intelligence

baseline "auto"

63
62
61
61
60
Axis starts at 57
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

baseline 50

Intelligence

baseline 50

63
62
61
61
60
Axis starts at 50
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

Intelligence

baseline 50

63
62
61
61
60
Axis starts at 50
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

Intelligence

baseline 50

63
62
61
61
60
Axis starts at 50
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

Value format and sorting

sort reorders each panel on its own — desc, asc, or none to keep the order you wrote. prefix, suffix and decimals format every value label. Label In % is the bar height below which a value stops sitting inside its bar and moves above it.

sort asc · prefix $ · decimals 2

Cost per Task

Lower is better

$0.05
$0.25
$0.38
$0.40
$0.40
GPT-5.6 Luna (max)
DeepSeek V4 Pro 0813 (max)
Nemotron 3 Ultra
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)

Cost per Task

Lower is better

$0.05
$0.25
$0.38
$0.40
$0.40
GPT-5.6 Luna (max)
DeepSeek V4 Pro 0813 (max)
Nemotron 3 Ultra
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)

Cost per Task

Lower is better

$0.05
$0.25
$0.38
$0.40
$0.40
GPT-5.6 Luna (max)
DeepSeek V4 Pro 0813 (max)
Nemotron 3 Ultra
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)

sort desc — same five figures

Cost per Task

Same data, reversed

$0.40
$0.40
$0.38
$0.25
$0.05
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)
Nemotron 3 Ultra
DeepSeek V4 Pro 0813 (max)
GPT-5.6 Luna (max)

Cost per Task

Same data, reversed

$0.40
$0.40
$0.38
$0.25
$0.05
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)
Nemotron 3 Ultra
DeepSeek V4 Pro 0813 (max)
GPT-5.6 Luna (max)

Cost per Task

Same data, reversed

$0.40
$0.40
$0.38
$0.25
$0.05
Muse Spark 1.2 (xhigh)
Gemini 3.7 Flash (high)
Nemotron 3 Ultra
DeepSeek V4 Pro 0813 (max)
GPT-5.6 Luna (max)

sort none · suffix % · decimals 1

Share of runs

Author's own order kept

31.4%
24.8%
18.2%
14.1%
11.5%
Claude Opus 5 (max)
GPT-5.6 Sol (max)
Gemini 3.7 Flash (high)
GLM-5.3 (max)
Kimi K3 (max)

Share of runs

Author's own order kept

31.4%
24.8%
18.2%
14.1%
11.5%
Claude Opus 5 (max)
GPT-5.6 Sol (max)
Gemini 3.7 Flash (high)
GLM-5.3 (max)
Kimi K3 (max)

Share of runs

Author's own order kept

31.4%
24.8%
18.2%
14.1%
11.5%
Claude Opus 5 (max)
GPT-5.6 Sol (max)
Gemini 3.7 Flash (high)
GLM-5.3 (max)
Kimi K3 (max)

Logos, notes and labels

An item may name a mark from the built-in vendor registry, a URL, or a raw SVG string. With Auto Logo on the mark is inferred from the label instead, falling back to the label’s initial when no vendor matches. A note on an item adds a circled i with a hover tooltip. Label Angle 0 lays the labels flat, which only works with short ones.

Logos off — notes still show

Intelligence

Logos off

63
62
61
61
60
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

Intelligence

Logos off

63
62
61
61
60
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

Intelligence

Logos off

63
62
61
61
60
Claude Opus 5 (max)
Claude Fable 5 (with fallback)
GPT-5.6 Sol (max)
Grok 4.6 (high)
Kimi K3 (max)

Label Angle 0 — short labels

Intelligence

Label Angle 0

63
62
61
61
60
Opus 5
Fable 5
GPT-5.6
Grok 4.6
Kimi K3

Intelligence

Label Angle 0

63
62
61
61
60
Opus 5
Fable 5
GPT-5.6
Grok 4.6
Kimi K3

Intelligence

Label Angle 0

63
62
61
61
60
Opus 5
Fable 5
GPT-5.6
Grok 4.6
Kimi K3

Auto Logo — no logo keys at all

Intelligence

No logo keys at all

63
61
57
56
38
Claude Opus 5
GPT-5.6 Sol
M
Muse Spark 1.2
Gemini 3.7
Nemotron 3

Intelligence

No logo keys at all

63
61
57
56
38
Claude Opus 5
GPT-5.6 Sol
M
Muse Spark 1.2
Gemini 3.7
Nemotron 3

Intelligence

No logo keys at all

63
61
57
56
38
Claude Opus 5
GPT-5.6 Sol
M
Muse Spark 1.2
Gemini 3.7
Nemotron 3

Props

The controls on the instance panel, then the keys of the AI Schema payload. Four of the panel controls appear only while Logos is on, Duration and Stagger only while Animate is on, Min Width only while Columns is 0, and Label Area only while Label Angle is above 0.

PropTypeBehaviour
schemastringAI Schema. The whole board as one JSON payload. Empty renders the built-in demo data.
fontJSONstringFontGenerator output. Empty falls back to the component's own size ramp.
deviceenumDesktop · Tablet · Mobile. Which fontJSON cell is read: L ≥1200, M ≥810, S ≥0.
displayFamilystringTitle Family. Overrides the panel-title face only. Empty follows fontJSON.
titleSlotenumType slot for the panel title. H1 · LargeTitle · Title · Headline · Body · Callout · Detail · Tiny.
subtitleSlotenumType slot for the panel subtitle. Same eight slots.
valueSlotenumType slot for the value printed on each bar.
labelSlotenumAxis Label. Type slot for the labels under the bars.
columnsnumberPanels per row, 0–6. 0 wraps automatically at minPanelWidth.
minPanelWidthnumberMin Width, 200–900. The wrap threshold while columns is 0; hidden otherwise.
cardGapnumberCard Gap, 0–80. Space between panels.
cardRadiusnumberRadius, 0–40. Panel corner radius.
cardPaddingnumberPadding, 0–80. Inside each panel.
plotHeightnumberPlot H, 100–800. Height of the bar area, labels excluded.
barGapnumberBar Gap, 0–40. Space between bars.
barRadiusnumberBar Radius, 0–20.
gridLinesnumberGrid Lines, 0–12. Horizontal rules behind the bars.
insideThresholdnumberLabel In %, 0–100. Below this bar height the value moves outside the bar.
showBaselineNotebooleanAxis Note. Prints the axis start when a panel sets a non-zero baseline.
showLogosbooleanLogos. Master switch for the vendor marks.
autoLogobooleanAuto Logo. Infers the mark from the label when an item sets none. Needs Logos on.
logoSizenumberLogo Size, 10–48. Needs Logos on.
logoRadiusnumberLogo Radius, 0–24. Needs Logos on.
logoBgcolorLogo BG. Optional plate behind each mark. Needs Logos on.
labelAnglenumberLabel Angle, 0–90 in steps of 5. 0 lays the labels flat.
labelHeightnumberLabel Area, 20–280. Reserved height for rotated labels; hidden when Label Angle is 0.
labelLineHeightnumberLabel LH, 0.9–2. Line height of the axis labels.
barColorcolorBar. Empty follows --primary-color for items that set no colour of their own.
textColorcolorText. Panel titles and values.
mutedColorcolorMuted. Subtitles and axis labels.
inverseColorcolorOn Bar. Values drawn inside a bar.
surfaceColorcolorCard. Panel fill.
borderColorcolorBorder. Panel border.
gridColorcolorGrid. Grid lines and note outlines.
animatebooleanAnimate. Bars grow in the first time they scroll into view.
durationnumberDuration, 0.1–3 s. Needs Animate on.
staggernumberStagger, 0–0.3 s between bars. Needs Animate on.
panels[]arrayOne object per panel. The only key the payload itself requires.
…titlestringPanel heading.
…subtitlestringThe line under the heading.
…accentcolorSmall square drawn before the title.
…sortenumdesc · asc · none. none keeps the order you wrote.
…baselinenumberAxis start for this panel, or "auto" to put the shortest bar at half height.
…prefixstringPrepended to every value in the panel, e.g. $.
…suffixstringAppended to every value in the panel, e.g. %.
…decimalsnumberDecimal places on the value label. Defaults to 0.
items[]arrayOne object per bar, inside a panel.
…labelstringAxis label. A \n breaks it onto a second line.
…valuenumberBar height. Required.
…colorcolorBar fill for this one item. Falls back to the Bar control.
…logostringRegistry key, image URL, raw <svg>, or any other string used as a text mark.
…notestringAdds a circled i beside the mark, carrying this text as its tooltip.
PropTypeBehaviour
schemastringAI Schema. The whole board as one JSON payload. Empty renders the built-in demo data.
fontJSONstringFontGenerator output. Empty falls back to the component's own size ramp.
deviceenumDesktop · Tablet · Mobile. Which fontJSON cell is read: L ≥1200, M ≥810, S ≥0.
displayFamilystringTitle Family. Overrides the panel-title face only. Empty follows fontJSON.
titleSlotenumType slot for the panel title. H1 · LargeTitle · Title · Headline · Body · Callout · Detail · Tiny.
subtitleSlotenumType slot for the panel subtitle. Same eight slots.
valueSlotenumType slot for the value printed on each bar.
labelSlotenumAxis Label. Type slot for the labels under the bars.
columnsnumberPanels per row, 0–6. 0 wraps automatically at minPanelWidth.
minPanelWidthnumberMin Width, 200–900. The wrap threshold while columns is 0; hidden otherwise.
cardGapnumberCard Gap, 0–80. Space between panels.
cardRadiusnumberRadius, 0–40. Panel corner radius.
cardPaddingnumberPadding, 0–80. Inside each panel.
plotHeightnumberPlot H, 100–800. Height of the bar area, labels excluded.
barGapnumberBar Gap, 0–40. Space between bars.
barRadiusnumberBar Radius, 0–20.
gridLinesnumberGrid Lines, 0–12. Horizontal rules behind the bars.
insideThresholdnumberLabel In %, 0–100. Below this bar height the value moves outside the bar.
showBaselineNotebooleanAxis Note. Prints the axis start when a panel sets a non-zero baseline.
showLogosbooleanLogos. Master switch for the vendor marks.
autoLogobooleanAuto Logo. Infers the mark from the label when an item sets none. Needs Logos on.
logoSizenumberLogo Size, 10–48. Needs Logos on.
logoRadiusnumberLogo Radius, 0–24. Needs Logos on.
logoBgcolorLogo BG. Optional plate behind each mark. Needs Logos on.
labelAnglenumberLabel Angle, 0–90 in steps of 5. 0 lays the labels flat.
labelHeightnumberLabel Area, 20–280. Reserved height for rotated labels; hidden when Label Angle is 0.
labelLineHeightnumberLabel LH, 0.9–2. Line height of the axis labels.
barColorcolorBar. Empty follows --primary-color for items that set no colour of their own.
textColorcolorText. Panel titles and values.
mutedColorcolorMuted. Subtitles and axis labels.
inverseColorcolorOn Bar. Values drawn inside a bar.
surfaceColorcolorCard. Panel fill.
borderColorcolorBorder. Panel border.
gridColorcolorGrid. Grid lines and note outlines.
animatebooleanAnimate. Bars grow in the first time they scroll into view.
durationnumberDuration, 0.1–3 s. Needs Animate on.
staggernumberStagger, 0–0.3 s between bars. Needs Animate on.
panels[]arrayOne object per panel. The only key the payload itself requires.
…titlestringPanel heading.
…subtitlestringThe line under the heading.
…accentcolorSmall square drawn before the title.
…sortenumdesc · asc · none. none keeps the order you wrote.
…baselinenumberAxis start for this panel, or "auto" to put the shortest bar at half height.
…prefixstringPrepended to every value in the panel, e.g. $.
…suffixstringAppended to every value in the panel, e.g. %.
…decimalsnumberDecimal places on the value label. Defaults to 0.
items[]arrayOne object per bar, inside a panel.
…labelstringAxis label. A \n breaks it onto a second line.
…valuenumberBar height. Required.
…colorcolorBar fill for this one item. Falls back to the Bar control.
…logostringRegistry key, image URL, raw <svg>, or any other string used as a text mark.
…notestringAdds a circled i beside the mark, carrying this text as its tooltip.

Usage

Guidance carried over from the component definition.

Reach for LeaderboardBars

A ranked comparison where the order is the whole point — model benchmarks, vendor scorecards, regional results.

Several metrics share one set of contenders: a panel each, each sorted and formatted on its own terms.

The figures arrive as JSON and change often — the entire board is one AI Schema string.

The bars must carry vendor identity: the built-in mark registry labels each one without uploading an asset.

Reach for something else

The data is a trend over time, or stacked, grouped, pie or radar — use ChartX or ChartX2.

The reader needs to scan exact figures cell by cell rather than compare heights — use TableX.

It is one number with nothing to compare it against — use CounterPro.

Io — Enhancements

Every specimen above is a live component instance. Colour, type and radius resolve from the project theme tokens.

io

An experiment in what a design system becomes when AI can consume it.

© 2026 io

Contact me

Create a free website with Framer, the website builder loved by startups, designers and agencies.