Skip to content
DocsChartsMarimekkoLast updated Nov 2, 2026

Marimekko

Two splits in one block. Sample data: net sales by region (NA 38%, EU 30%, APAC 20%) and four categories inside each.

Open in
Sales by region and category, Q3Q3 net sales by region: NA 38%, EU 30%, APAC 20%, LATAM 12%; Electronics is 46% of APAC, Apparel 41% of EU.34%22%28%16%NA 38%41%25%18%16%EU 30%22%14%46%18%APAC 20%38%30%20%LATAMAPPARELHOMEELECTRONICSBEAUTY
Sales by region and category, Q3
RegionShare of salesApparelHomeElectronicsBeauty
NA38%34%22%28%16%
EU30%41%25%18%16%
APAC20%22%14%46%18%
LATAM12%38%30%12%20%
Sales by region and category, Q3Q3 net sales by region: NA 38%, EU 30%, APAC 20%, LATAM 12%; Electronics is 46% of APAC, Apparel 41% of EU.34%22%28%NA 38%41%25%EU 30%22%46%APACAPPARELHOMEELECTRONICSBEAUTY
Sales by region and category, Q3
RegionShare of salesApparelHomeElectronicsBeauty
NA38%34%22%28%16%
EU30%41%25%18%16%
APAC20%22%14%46%18%
LATAM12%38%30%12%20%

Installation

  1. 1

    Set up the registry once

    This chart is free in Hearth and MIT licensed: no token. Add @chartory to components.json once (the URL alone, no headers), or skip this when another chart is already installed.

    Installation guide
  2. 2

    Add the chart

    One command adds the Marimekko component to your project.

    npx shadcn add @chartory/marimekko
  3. 3

    Use it

    Pass your rows. The props are the Figma properties.

    usage.tsx
    import { Marimekko }  from "@/components/chartory/marimekko"<Marimekko  data={salesByRegion}  size="m"  legend/>

Props

<Marimekko>

Every prop but data is a Figma property with the same name and values.

PropTypeDefault
data: The chart's data. The tables below list every field.MarimekkoDataRequired
size: The size class. Each one is laid out again from the data."xs" | "s" | "m" | "l""m"
legend: Shows the legend row under the plot.booleantrue

MarimekkoData

The data prop: one object for the whole chart.

PropTypeDefault
toks: The colour token of each item, in order.string[]Required
cols: One entry per column.MarimekkoCol[]Required

MarimekkoCol

One object per entry in cols.

PropTypeDefault
label: The name shown on the chart.stringRequired
share: The column's share of the whole.numberRequired
parts: The parts, in order.number[]Required

The data as a JSON Schema: schemas/marimekko.json

Marimekko chart: a React and Figma chart in four sizes

What does a marimekko chart show?

A Marimekko chart sizes each column by one split, such as region, and divides each column by a second split, such as category. Every tile's area is its share of the total. Use it for sales by region and category or market by segment and player.

Chartory ships it as a Figma component and a React component with the same name. The code installs from the shadcn registry with one command and lands in your project as a file you own.

What is the Marimekko component?

It is one <Marimekko> component. Its props are the Figma properties with the same names and values, and the props table above lists them. The data is a share per region and per category inside it.

Sizes XS, S, M and L re-lay the chart out from the data instead of scaling it, so labels stay readable at every size.

When should I use it?

  • Are there two splits? Yes means the marimekko fits.
  • Do column widths carry meaning? Yes means the marimekko fits.
  • Is it shares, not amounts? Yes means the marimekko fits.

When does another type fit better?

  • One split. Use Donut instead.
  • Same-width columns. Use Stacked bars instead.
  • Amounts in nested tiles. Use Treemap instead.

Marimekko questions

Installing, data, Figma and plans.

  • Yes. It installs through the shadcn registry with the shadcn CLI, and the file lands in your project.

Stay in the loop

New charts, by email.

Get an email when new chart types and releases ship.

Unsubscribe any time.