Comparison table

React Comparison table

Responsive React Comparison table templates built with Bootstrap 5. Various examples like comparison table on pricing page, comparison card, product comparison & more.

If you want to create your own examples or learn more check out the Tables documentation.


Basic example

Product features comparison is usually best visualized as a table.

PRO Basic
Domain customization
FTP
Database
Support
Backups
        
             
      import React from "react";
      import {
        MDBContainer,
        MDBIcon,
        MDBTable,
        MDBTableBody,
        MDBTableHead,
      } from "mdb-react-ui-kit";
      
      export default function App() {
        return (
          <MDBContainer className="py-5">
            <MDBTable
              responsive
              striped
              className=" text-successtable-border border-light"
            >
              <MDBTableHead className="border-light">
                <tr>
                  <th scope="col"></th>
                  <th scope="col">
                    <strong>PRO</strong>
                  </th>
                  <th scope="col">
                    <strong>Basic</strong>
                  </th>
                </tr>
              </MDBTableHead>
              <MDBTableBody>
                <tr>
                  <th scope="row">Domain customization </th>
                  <td>
                    <MDBIcon fas icon="check" className="text-success" />
                  </td>
                  <td>
                    <MDBIcon fas icon="times" className="text-danger" />
                  </td>
                </tr>
                <tr>
                  <th scope="row">FTP</th>
                  <td>
                    <MDBIcon fas icon="check" className="text-success" />
                  </td>
                  <td>
                    <MDBIcon fas icon="check" className="text-success" />
                  </td>
                </tr>
                <tr>
                  <th scope="row">Database</th>
                  <td>
                    <MDBIcon fas icon="check" className="text-success" />
                  </td>
                  <td>
                    <MDBIcon fas icon="times" className="text-danger" />
                  </td>
                </tr>
                <tr>
                  <th scope="row">Support</th>
                  <td>
                    <MDBIcon fas icon="check" className="text-success" />
                  </td>
                  <td>
                    <MDBIcon fas icon="check" className="text-success" />
                  </td>
                </tr>
                <tr>
                  <th scope="row">Backups</th>
                  <td>
                    <MDBIcon fas icon="check" className="text-success" />
                  </td>
                  <td>
                    <MDBIcon fas icon="times" className="text-danger" />
                  </td>
                </tr>
              </MDBTableBody>
            </MDBTable>
          </MDBContainer>
        );
      }      
      
        
    

Comparison on pricing

Pricing tiers comparison is usually created by embedding a list group inside of a card, and displaying the pricing cards next to each other with the help of a CSS grid.

Pricing

Free

Free
  • Feature
  • Feature
  • Feature

Essential

$19/month
  • Feature
  • Feature
  • Feature
  • Feature

Advanced

$49/month
  • Feature
  • Feature
  • Feature
  • Feature
  • Feature

Enterprise

$189/month
  • Feature
  • Feature
  • Feature
  • Feature
  • Feature
  • Feature
        
             
      import React from "react";
      import {
        MDBContainer,
        MDBBtnGroup,
        MDBBtn,
        MDBRow,
        MDBCol,
        MDBCard,
        MDBCardHeader,
        MDBCardBody,
        MDBListGroup,
        MDBListGroupItem,
        MDBCardFooter,
      } from "mdb-react-ui-kit";
      
      export default function App() {
        return (
          <MDBContainer className="py-5 text-center">
            <h4 className="mb-4">
              <strong>Pricing</strong>
            </h4>
      
            <MDBBtnGroup className="mb-4" aria-label="Basic example">
              <MDBBtn href="#" color="primary" active>
                Monthly billing
              </MDBBtn>
              <MDBBtn color="primary">
                Annual billign <small>(2 months FREE)</small>
              </MDBBtn>
            </MDBBtnGroup>
      
            <MDBRow className="gx-lg-5">
              <MDBCol lg="3" md="6" className="mb-4">
                <MDBCard>
                  <MDBCardHeader className="bg-white py-3">
                    <p className="text-uppercase small mb-2">
                      <strong>Free</strong>
                    </p>
                    <h5 className="mb-0">Free</h5>
                  </MDBCardHeader>
      
                  <MDBCardBody>
                    <MDBListGroup flush>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                    </MDBListGroup>
                  </MDBCardBody>
      
                  <MDBCardFooter className="bg-white py-3">
                    <MDBBtn color="success" size="sm">
                      Get it
                    </MDBBtn>
                  </MDBCardFooter>
                </MDBCard>
              </MDBCol>
      
              <MDBCol lg="3" md="6" className="mb-4">
                <MDBCard border="primary">
                  <MDBCardHeader className="bg-white py-3">
                    <p className="text-uppercase small mb-2">
                      <strong>ESSENTIAL</strong>
                    </p>
                    <h5 className="mb-0">$19/month</h5>
                  </MDBCardHeader>
      
                  <MDBCardBody>
                    <MDBListGroup flush>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                    </MDBListGroup>
                  </MDBCardBody>
      
                  <MDBCardFooter className="bg-white py-3">
                    <MDBBtn color="primary" size="sm">
                      Buy now
                    </MDBBtn>
                  </MDBCardFooter>
                </MDBCard>
              </MDBCol>
      
              <MDBCol lg="3" md="6" className="mb-4">
                <MDBCard>
                  <MDBCardHeader className="bg-white py-3">
                    <p className="text-uppercase small mb-2">
                      <strong>ADVANCED</strong>
                    </p>
                    <h5 className="mb-0">$49/month</h5>
                  </MDBCardHeader>
      
                  <MDBCardBody>
                    <MDBListGroup flush>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                    </MDBListGroup>
                  </MDBCardBody>
      
                  <MDBCardFooter className="bg-white py-3">
                    <MDBBtn color="info" size="sm">
                      Buy now
                    </MDBBtn>
                  </MDBCardFooter>
                </MDBCard>
              </MDBCol>
      
              <MDBCol lg="3" md="6" className="mb-4">
                <MDBCard>
                  <MDBCardHeader className="bg-white py-3">
                    <p className="text-uppercase small mb-2">
                      <strong>ENTERPRISE</strong>
                    </p>
                    <h5 className="mb-0">$189/month</h5>
                  </MDBCardHeader>
      
                  <MDBCardBody>
                    <MDBListGroup flush>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                      <MDBListGroupItem>Feature</MDBListGroupItem>
                    </MDBListGroup>
                  </MDBCardBody>
      
                  <MDBCardFooter className="bg-white py-3">
                    <MDBBtn color="info" size="sm">
                      Buy now
                    </MDBBtn>
                  </MDBCardFooter>
                </MDBCard>
              </MDBCol>
            </MDBRow>
          </MDBContainer>
        );
      }      
      
        
    

Extended comparison table

If your comparison table has many rows, we recommend to use a striped table to make it easier to scan.

Basic Standard Premium Managed
HDD Storage 700 MB 1,5 GB 50 GB up to 5T
Web Server
Database - Optional
DNS - -
Backups - -
Tech Support None 35$/incident 15$/incident 24/7 included
Free $99/mo $179/mo Contact us
        
             
      import React from "react";
      import {
        MDBBtn,
        MDBContainer,
        MDBIcon,
        MDBTable,
        MDBTableBody,
        MDBTableHead,
      } from "mdb-react-ui-kit";
      
      export default function App() {
        return (
          <MDBContainer className="py-5 text-center">
            <MDBTable
              responsive
              striped
              className="text-successtable-border border-light"
            >
              <MDBTableHead className="border-light">
                <tr>
                  <th scope="col"></th>
                  <th scope="col">
                    <strong>Basic</strong>
                  </th>
                  <th scope="col">
                    <strong>Standard</strong>
                  </th>
                  <th scope="col">
                    <strong>Premium</strong>
                  </th>
                  <th scope="col">
                    <strong>Managed</strong>
                  </th>
                </tr>
              </MDBTableHead>
              <MDBTableBody>
                <tr>
                  <th scope="row">HDD Storage</th>
                  <td>700 MB</td>
                  <td>1,5 GB</td>
                  <td>50 GB</td>
                  <td>up to 5T</td>
                </tr>
                <tr>
                  <th scope="row">Web Server</th>
                  <td>
                    <MDBIcon fas icon="check" />
                  </td>
                  <td>
                    <MDBIcon fas icon="check" />
                  </td>
                  <td>
                    <MDBIcon fas icon="check" />
                  </td>
                  <td>
                    <MDBIcon fas icon="check" />
                  </td>
                </tr>
                <tr>
                  <th scope="row">Database</th>
                  <td>-</td>
                  <td>Optional</td>
                  <td>
                    <MDBIcon fas icon="check" />
                  </td>
                  <td>
                    <MDBIcon fas icon="check" />
                  </td>
                </tr>
                <tr>
                  <th scope="row">DNS</th>
                  <td>-</td>
                  <td>-</td>
                  <td>
                    <MDBIcon fas icon="check" />
                  </td>
                  <td>
                    <MDBIcon fas icon="check" />
                  </td>
                </tr>
                <tr>
                  <th scope="row">Backups</th>
                  <td>-</td>
                  <td>-</td>
                  <td>
                    <MDBIcon fas icon="check" />
                  </td>
                  <td>
                    <MDBIcon fas icon="check" />
                  </td>
                </tr>
                <tr>
                  <th scope="row">Tech Support</th>
                  <td>None</td>
                  <td>35$/incident</td>
                  <td>15$/incident</td>
                  <td>24/7 included</td>
                </tr>
                <tr>
                  <td></td>
                  <td className="fw-bold">Free</td>
                  <td className="fw-bold">$99/mo</td>
                  <td className="fw-bold">$179/mo</td>
                  <td className="fw-bold">
                    <a href="#">Contact us</a>
                  </td>
                </tr>
                <tr>
                  <th></th>
                  <th>
                    <MDBBtn>Sign-up</MDBBtn>
                  </th>
                  <th>
                    <MDBBtn>Buy Now</MDBBtn>
                  </th>
                  <th>
                    <MDBBtn>Buy Now</MDBBtn>
                  </th>
                </tr>
              </MDBTableBody>
            </MDBTable>
          </MDBContainer>
        );
      }      
      
        
    

Advanced Comparison table on pricing

Experiment with different pricing layouts, borders, and typography to create a customized comparison. In the example below we used a simple list with icons for the detailed features included in pricing tiers, and brought the buying button above the list to highlight the differences in tier prices above all.

Pricing

Hobby

All the essentials for starting a business

$12/mo

Buy Hobby
Freelancer

All the essentials for starting a business

$20/mo

Buy Freelancer
Startup

All the essentials for starting a business

$40/mo

Buy Startup
Enterprise

All the essentials for starting a business

$55/mo

Buy Enterprise
        
             
      import React from "react";
      import {
        MDBContainer,
        MDBBtnGroup,
        MDBBtn,
        MDBRow,
        MDBCol,
        MDBCard,
        MDBCardBody,
        MDBCardFooter,
        MDBTypography,
        MDBIcon,
        MDBCardTitle,
      } from "mdb-react-ui-kit";
      
      export default function App() {
        return (
          <MDBContainer className="py-5 ">
            <div className="text-center">
              <h4 classaName="mb-4">
                <strong>Pricing</strong>
              </h4>
      
              <MDBBtnGroup className="mb-4" aria-label="Basic example">
                <MDBBtn href="#" color="dark" active>
                  Monthly billing
                </MDBBtn>
                <MDBBtn color="light">
                  Annual billign <small>(2 months FREE)</small>
                </MDBBtn>
              </MDBBtnGroup>
            </div>
      
            <MDBRow>
              <MDBCol md="3">
                <MDBCard>
                  <MDBCardBody className="mx-2">
                    <MDBCardTitle className="my-2">Hobby</MDBCardTitle>
                    <p className="text-muted">
                      All the essentials for starting a business
                    </p>
                    <p className="h2 fw-bold">
                      $12
                      <small className="text-muted" style={{ fontSize: "18px" }}>
                        /mo
                      </small>
                    </p>
                    <MDBBtn
                      href="#"
                      color="dark"
                      className="d-block mb-2 mt-3 text-capitalize"
                    >
                      Buy Hobby
                    </MDBBtn>
                  </MDBCardBody>
      
                  <MDBCardFooter>
                    <p
                      className="text-uppercase fw-bold"
                      style={{ fontSize: "12px" }}
                    >
                      What's included
                    </p>
      
                    <MDBTypography listUnStyled className="mb-0 px-4">
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                    </MDBTypography>
                  </MDBCardFooter>
                </MDBCard>
              </MDBCol>
      
              <MDBCol md="3">
                <MDBCard border="dark">
                  <MDBCardBody className="mx-2">
                    <MDBCardTitle className="my-2">Freelancer</MDBCardTitle>
                    <p className="text-muted">
                      All the essentials for starting a business
                    </p>
                    <p className="h2 fw-bold">
                      $20
                      <small className="text-muted" style={{ fontSize: "18px" }}>
                        /mo
                      </small>
                    </p>
                    <MDBBtn
                      href="#"
                      color="dark"
                      className="d-block mb-2 mt-3 text-capitalize"
                    >
                      Buy Freelancer
                    </MDBBtn>
                  </MDBCardBody>
      
                  <MDBCardFooter>
                    <p
                      className="text-uppercase fw-bold"
                      style={{ fontSize: "12px" }}
                    >
                      What's included
                    </p>
      
                    <MDBTypography listUnStyled className="mb-0 px-4">
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                    </MDBTypography>
                  </MDBCardFooter>
                </MDBCard>
              </MDBCol>
      
              <MDBCol md="3">
                <MDBCard border="dark">
                  <MDBCardBody className="mx-2">
                    <MDBCardTitle className="my-2">Startup</MDBCardTitle>
                    <p className="text-muted">
                      All the essentials for starting a business
                    </p>
                    <p className="h2 fw-bold">
                      $40
                      <small className="text-muted" style={{ fontSize: "18px" }}>
                        /mo
                      </small>
                    </p>
                    <MDBBtn
                      href="#"
                      color="dark"
                      className="d-block mb-2 mt-3 text-capitalize"
                    >
                      Buy Startup
                    </MDBBtn>
                  </MDBCardBody>
      
                  <MDBCardFooter>
                    <p
                      className="text-uppercase fw-bold"
                      style={{ fontSize: "12px" }}
                    >
                      What's included
                    </p>
      
                    <MDBTypography listUnStyled className="mb-0 px-4">
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                    </MDBTypography>
                  </MDBCardFooter>
                </MDBCard>
              </MDBCol>
      
              <MDBCol md="3">
                <MDBCard border="dark">
                  <MDBCardBody className="mx-2">
                    <MDBCardTitle className="my-2">Enterprise</MDBCardTitle>
                    <p className="text-muted">
                      All the essentials for starting a business
                    </p>
                    <p className="h2 fw-bold">
                      $55
                      <small className="text-muted" style={{ fontSize: "18px" }}>
                        /mo
                      </small>
                    </p>
                    <MDBBtn
                      href="#"
                      color="dark"
                      className="d-block mb-2 mt-3 text-capitalize"
                    >
                      Buy Enterprise
                    </MDBBtn>
                  </MDBCardBody>
      
                  <MDBCardFooter>
                    <p
                      className="text-uppercase fw-bold"
                      style={{ fontSize: "12px" }}
                    >
                      What's included
                    </p>
      
                    <MDBTypography listUnStyled className="mb-0 px-4">
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                      <li className="mb-3">
                        <MDBIcon fas icon="check" className="text-success me-3" />
                        <small>Lorem Ipsum</small>
                      </li>
                    </MDBTypography>
                  </MDBCardFooter>
                </MDBCard>
              </MDBCol>
            </MDBRow>
          </MDBContainer>
        );
      }      
      
        
    

Comparison card with details

If you would like to highlight one of the pricing options, you can also create a separate, full-width feature card and place it above the main comparison table.

Lifetime Membership

Lorem ipsum dolor sit amet consectetur adipisicing elit. Cupiditate quae deserunt excepturi nihil nobis. Hic dolores architecto quod dicta, iusto odio, sit quae cum, quos alias eveniet corrupti ab pariatur.

what’s included

  1. Lorem Ipsum
  2. Lorem Ipsum

  1. Lorem Ipsum
  2. Lorem Ipsum

Pay once, own it forever

$199 USD

Learn more about our company

Get Access

Get a free sample (20MB)

        
             
      import React from "react";
      import {
        MDBCard,
        MDBCardBody,
        MDBCol,
        MDBContainer,
        MDBIcon,
        MDBRow,
        MDBTypography,
      } from "mdb-react-ui-kit";
      
      export default function App() {
        return (
          <MDBContainer className="py-5">
            <MDBCard className="border overflow-hidden">
              <MDBCardBody className="px-0 py-0">
                <MDBRow>
                  <MDBCol md="8" className="py-2 bg-white border">
                    <div className="mx-4 my-4">
                      <p className="h3 mb-3">
                        <strong>Lifetime Membership</strong>
                      </p>
                      <p className="text-muted">
                        Lorem ipsum dolor sit amet consectetur adipisicing elit.
                        Cupiditate quae deserunt excepturi nihil nobis. Hic dolores
                        architecto quod dicta, iusto odio, sit quae cum, quos alias
                        eveniet corrupti ab pariatur.
                      </p>
                      <p
                        className="text-uppercase text-primary mb-3 new-section"
                        style={{ fontSize: "14px" }}
                      >
                        what’s included
                        <span className="line-pricing"></span>
                      </p>
      
                      <MDBRow>
                        <MDBCol md="6">
                          <MDBTypography listUnStyled className="mb-0 pt-0 pb-0">
                            <li className="mb-3">
                              <MDBIcon
                                fas
                                icon="check"
                                className="text-success me-3"
                              />
                              <small>Lorem Ipsum</small>
                            </li>
                            <li className="mb-3">
                              <MDBIcon
                                fas
                                icon="check"
                                className="text-success me-3"
                              />
                              <small>Lorem Ipsum</small>
                            </li>
                          </MDBTypography>
                        </MDBCol>
                        <MDBCol md="6">
                          <MDBTypography listUnStyled className="mb-0 pt-0 pb-0">
                            <li className="mb-3">
                              <MDBIcon
                                fas
                                icon="check"
                                className="text-success me-3"
                              />
                              <small>Lorem Ipsum</small>
                            </li>
                            <li className="mb-3">
                              <MDBIcon
                                fas
                                icon="check"
                                className="text-success me-3"
                              />
                              <small>Lorem Ipsum</small>
                            </li>
                          </MDBTypography>
                        </MDBCol>
                      </MDBRow>
                    </div>
                  </MDBCol>
                  <MDBCol
                    md="4"
                    className="text-center"
                    style={{
                      backgroundColor: "#F9FAFB",
                      boxShadow: "0px 0px 10px 1px #aaaaaa",
                    }}
                  >
                    <div className="mt-5 pt-4 me-4">
                      <p className="h5">Pay once, own it forever</p>
                      <p
                        className="h2 fw-bold text-black"
                        style={{ fontSize: "40px" }}
                      >
                        $199
                        <small class="text-muted ms-2" style={{ fontSize: "15px" }}>
                          USD
                        </small>
                      </p>
                      <p
                        className="text-decoration-underline text-black-50 "
                        style={{ fontSize: "15px" }}
                      >
                        Learn more about our company
                      </p>
                      <a
                        href="#"
                        className="btn btn-dark d-block mb-2 mt-3 text-capitalize"
                      >
                        Get Access
                      </a>
                      <p className="fw-bold mt-3" style={{ fontSize: "13px" }}>
                        Get a free sample <span className="text-muted">(20MB)</span>
                      </p>
                    </div>
                  </MDBCol>
                </MDBRow>
              </MDBCardBody>
            </MDBCard>
          </MDBContainer>
        );
      }      
      
        
    
        
             
      .new-section {
        overflow: hidden;
        color: gray;
        text-align: left;
        line-height: 1.6em;
      }
      .new-section::before {
        display: block;
        float: right;
        margin-top: 0.7em;
        border-top: 2px solid silver;
        width: 78%;
        content: "";
      }