ブラウザ内処理・サーバ送信なし 登録不要・完全無料 利用回数制限なし

UI コンポーネントライブラリ比較 フレームワーク

React で UI を組むときに最もよく採用される 5大ライブラリ shadcn/ui / Material UI / Mantine / Chakra UI / Ant Design を、概要・特徴・サンプルコード・採用基準で比較します。プロジェクトに合った選定の参考にお使いください。

shadcn/ui

コピー&ペースト型 開発元: shadcn (個人)

shadcn/ui は「コンポーネントをnpmからインストールする」のではなく、コードを自分のプロジェクトに直接コピーして使うという新しい考え方のUIライブラリです。Radix UI と Tailwind CSS を組み合わせて作られており、コンポーネントの実装コードが自分の手元にあるため、自由にカスタマイズできます。2023年から急速に普及し、現在のNext.jsプロジェクトでは事実上の標準ライブラリとなっています。

コピー型 (npm 非依存)
コードを自分のリポジトリに置く・ベンダーロックなし
Radix UI ベース
アクセシビリティが標準で確保される
Tailwind CSS 統合
既存のTailwindクラスでカスタマイズ可能
CLI 自動セットアップ
npx shadcn add button でコンポーネント追加
📄 サンプルコード
app/page.tsx
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"

export default function Page() {
  return (
    <Card className="w-96">
      <CardHeader>
        <CardTitle>shadcn/ui サンプル</CardTitle>
      </CardHeader>
      <CardContent>
        <Button>クリックしてください</Button>
      </CardContent>
    </Card>
  )
}

Material UI (MUI)

Material Design 開発元: MUI 株式会社

Material UI はGoogle の Material Design に準拠した React UI ライブラリで、業界で最も成熟したコンポーネントライブラリの1つです。100種類以上のコンポーネントを内蔵し、テーマカスタマイズ機能も豊富。業務アプリ・社内ツール・管理画面の制作現場で長年にわたり標準的に採用されています。日本語のドキュメント情報も豊富です。

Material Design 準拠
Googleが定めた洗練されたUIガイドラインに準拠
100+コンポーネント
DataGrid・Date Picker等の高機能コンポーネント
テーマシステム
ThemeProvider でアプリ全体のデザイン統一
大規模採用
Netflix・Amazon等の大企業でも採用
📄 サンプルコード
app/page.tsx
import { Button, Card, CardContent, CardHeader } from '@mui/material';

export default function Page() {
  return (
    <Card sx={{ width: 384 }}>
      <CardHeader title="Material UI サンプル" />
      <CardContent>
        <Button variant="contained" color="primary">
          クリックしてください
        </Button>
      </CardContent>
    </Card>
  );
}

Mantine

開発者体験重視 開発元: Vitaly Rtishchev (個人発祥のOSS)

Mantine は開発者体験 (DX) を最優先に設計された Reactコンポーネントライブラリです。100種類以上のコンポーネントに加え、フォーム管理・通知・モーダル管理等のフック (Hook) 群も豊富。TypeScript完全対応で、型補完が非常に優秀。スタートアップ・SaaS開発の現場で急速にシェアを伸ばしています。

TypeScript完全対応
100% TypeScript 製・型補完が非常に正確
フック (Hook) 集
useForm/useDebouncedValue 等50種類以上
標準ダーク対応
ColorScheme でライト/ダーク切替が組込済
ノティフィケーション
通知・モーダル等のシステムも公式提供
📄 サンプルコード
app/page.tsx
import { Button, Card, Text, Title } from '@mantine/core';

export default function Page() {
  return (
    <Card shadow="sm" padding="lg" w={384}>
      <Title order={3}>Mantine サンプル</Title>
      <Text size="sm" c="dimmed" mb="md">
        DX (開発者体験) 最優先のUIライブラリ
      </Text>
      <Button fullWidth>
        クリックしてください
      </Button>
    </Card>
  );
}

Chakra UI

アクセシビリティ重視 開発元: Segun Adebayo

Chakra UI はアクセシビリティとシンプルなAPIを両立した Reactコンポーネントライブラリです。Style Propsという独自の記法で、propsだけでスタイルを完結できる手軽さが特徴。WAI-ARIA準拠・キーボード操作対応など、アクセシビリティ要件の高いプロジェクトに最適です。

Style Props
<Box p={4} bg="blue.500"> のような直感的記法
WAI-ARIA 完全準拠
スクリーンリーダー対応が標準
テーマシステム
トークンベースのテーマ管理
合成可能
コンポーネントを組み合わせて拡張容易
📄 サンプルコード
app/page.tsx
import { Box, Button, Heading, Text } from '@chakra-ui/react';

export default function Page() {
  return (
    <Box w="96" p={6} bg="white" borderRadius="lg" shadow="md">
      <Heading size="md" mb={2}>Chakra UI サンプル</Heading>
      <Text fontSize="sm" color="gray.600" mb={4}>
        Style Propsで簡潔にスタイリング
      </Text>
      <Button colorScheme="teal" width="full">
        クリックしてください
      </Button>
    </Box>
  );
}

Ant Design

エンタープライズ向け 開発元: アリババ (Alibaba)

Ant Design は中国のアリババグループが開発・運営するエンタープライズ向けUIライブラリです。70種類以上のコンポーネントに加え、ダッシュボード向けの高機能データテーブル・グラフ・チャートまで包括的に提供。中国国内の業務システムで圧倒的なシェアを持ち、グローバルでも管理画面・データ可視化の領域で広く採用されています。

エンタープライズ特化
業務システム向けの高機能コンポーネント満載
高機能Table
ソート・フィルタ・ページ送り等が標準装備
ProComponents
ダッシュボード用の上位コンポーネント群
国際化対応
日本語含む20言語以上のロケール内蔵
📄 サンプルコード
app/page.tsx
import { Button, Card } from 'antd';

export default function Page() {
  return (
    <Card title="Ant Design サンプル" style={{ width: 384 }}>
      <p style={{ marginBottom: 16, color: '#888' }}>
        エンタープライズ向けの豊富なコンポーネント
      </p>
      <Button type="primary" block>
        クリックしてください
      </Button>
    </Card>
  );
}

🔍 5ライブラリ 機能比較

比較項目 shadcn/ui Material UI Mantine Chakra UI Ant Design
インストール方式コピー型npmnpmnpmnpm
コンポーネント数約50100+100+50+70+
スタイリングTailwindCSS-in-JSCSS ModulesStyle PropsCSS-in-JS
カスタマイズ性◎ (最高)
テーマCSS変数ThemeProvidertheme propextendThemeConfigProvider
TypeScript
日本語情報
得意分野モダンWeb・SPA業務アプリSaaS・スタートアップアクセシビリティ重視ダッシュボード・社内ツール

💡 どれを選ぶか

  • モダンなWebサイト・LP・新規SPAを作る → shadcn/ui (現在のNext.js事実上の標準)
  • 業務アプリ・社内ツール・管理画面を作る → Material UI または Ant Design
  • SaaS・スタートアップ・最新DX重視Mantine
  • アクセシビリティが必須 (官公庁案件・大企業の規定) → Chakra UI
  • ダッシュボード・データ可視化が中心 → Ant Design (ProComponents)

使い方

  • タブで5つのライブラリを切り替えながら、特徴とサンプルコードを比較
  • 気に入ったライブラリの公式ドキュメントへリンクから直接アクセス
  • 各ライブラリのコードスタイルを見比べて、自分が読みやすい・書きやすい方を選定

選定で重視すべき軸

  • チームのスキル: メンバーが慣れているものが最強
  • 長期保守性: 5年後も生きているか (5つともコミュニティが活発)
  • カスタマイズ性: 完全独自デザインを作るなら shadcn/ui
  • スピード: すぐ動くものが欲しいなら Material UI / Ant Design
  • 規模: 大規模 → MUI / Antd / 中小規模 → shadcn/ui / Mantine