Tailwind CSS Footer - React

Use our React and Tailwind CSS footer to present your website/web app as clearly and efficiently as possible.

See below our footer examples that you can use in your Tailwind CSS and React project. The examples comes in different styles, so you can adapt it easily to your needs.


Here's how to implement a simple and responsive footer component. It can be used to display information about your website or web app, such as contact information, social media links, and more.

import { Typography } from "@material-tailwind/react";

const YEAR = new Date().getFullYear();

const LINKS = [
{
title: "About Us",
href: "#",
},
{
title: "License",
href: "#",
},
{
title: "Contribute",
href: "#",
},
{
title: "Contact Us",
href: "#",
},
];

export function FooterDemo() {
return (
<footer className="flex w-full flex-row flex-wrap items-center justify-center gap-x-12 gap-y-3 border-t border-surface py-4 text-center md:justify-between">
<Typography>&copy; {YEAR} Material Tailwind</Typography>
<ul className="flex flex-wrap items-center gap-x-6 gap-y-2">
{LINKS.map(({ title, href }) => (
<li>
<Typography as="a" href={href} className="hover:text-primary">
{title}
</Typography>
</li>
))}
</ul>
</footer>
);
}
import { Typography } from "@material-tailwind/react";

const YEAR = new Date().getFullYear();

const LINKS = [
{
title: "About Us",
href: "#",
},
{
title: "License",
href: "#",
},
{
title: "Contribute",
href: "#",
},
{
title: "Contact Us",
href: "#",
},
];

export function FooterDemo() {
return (
<footer className="flex w-full flex-row flex-wrap items-center justify-center gap-x-12 gap-y-3 border-t border-surface py-4 text-center md:justify-between">
<Typography>&copy; {YEAR} Material Tailwind</Typography>
<ul className="flex flex-wrap items-center gap-x-6 gap-y-2">
{LINKS.map(({ title, href }) => (
<li>
<Typography as="a" href={href} className="hover:text-primary">
{title}
</Typography>
</li>
))}
</ul>
</footer>
);
}

Use this footer example to display your website or web app's logo along with links to different sections of your website.

import { Typography } from "@material-tailwind/react";

const YEAR = new Date().getFullYear();

const LINKS = [
{
title: "About Us",
href: "#",
},
{
title: "License",
href: "#",
},
{
title: "Contribute",
href: "#",
},
{
title: "Contact Us",
href: "#",
},
];

export function FooterWithLogo() {
return (
<footer className="w-full">
<div className="flex w-full flex-row flex-wrap items-center justify-center gap-x-12 gap-y-3 text-center md:justify-between">
<img src="/logo.png" alt="brand" className="w-8" />
<ul className="flex flex-wrap items-center gap-x-6 gap-y-2">
{LINKS.map(({ title, href }, key) => (
<li key={key}>
<Typography as="a" href={href} className="hover:text-primary">
{title}
</Typography>
</li>
))}
</ul>
</div>
<hr className="my-4 border-surface" />
<Typography className="text-center">
&copy; {YEAR} Material Tailwind
</Typography>
</footer>
);
}
import { Typography } from "@material-tailwind/react";

const YEAR = new Date().getFullYear();

const LINKS = [
{
title: "About Us",
href: "#",
},
{
title: "License",
href: "#",
},
{
title: "Contribute",
href: "#",
},
{
title: "Contact Us",
href: "#",
},
];

export function FooterWithLogo() {
return (
<footer className="w-full">
<div className="flex w-full flex-row flex-wrap items-center justify-center gap-x-12 gap-y-3 text-center md:justify-between">
<img src="/logo.png" alt="brand" className="w-8" />
<ul className="flex flex-wrap items-center gap-x-6 gap-y-2">
{LINKS.map(({ title, href }, key) => (
<li key={key}>
<Typography as="a" href={href} className="hover:text-primary">
{title}
</Typography>
</li>
))}
</ul>
</div>
<hr className="my-4 border-surface" />
<Typography className="text-center">
&copy; {YEAR} Material Tailwind
</Typography>
</footer>
);
}

Use this footer example to display your website or web app's logo along with navigation links, contact information, social media links, and much more.

import { Typography, IconButton } from "@material-tailwind/react";
import { Facebook, Instagram, X, Github, Dribbble } from "iconoir-react";

const LINKS = [
{
title: "Product",
items: [
{
title: "Overview",
href: "#",
},
{
title: "Features",
href: "#",
},
{
title: "Solutions",
href: "#",
},
{
title: "Tutorials",
href: "#",
},
],
},
{
title: "Company",
items: [
{
title: "About us",
href: "#",
},
{
title: "Careers",
href: "#",
},
{
title: "Press",
href: "#",
},
{
title: "News",
href: "#",
},
],
},
{
title: "Resource",
items: [
{
title: "Blog",
href: "#",
},
{
title: "Newsletter",
href: "#",
},
{
title: "Events",
href: "#",
},
{
title: "Help center",
href: "#",
},
],
},
];

const YEAR = new Date().getFullYear();

export function FooterWithSocialLinks() {
return (
<footer className="relative w-full">
<div className="mx-auto w-full max-w-7xl px-8">
<div className="grid grid-cols-1 justify-between gap-4 md:grid-cols-2">
<Typography type="h6" className="mb-4">
Material Tailwind
</Typography>
<div className="grid grid-cols-3 justify-between gap-x-6 gap-y-4">
{LINKS.map(({ title, items }) => (
<ul key={title}>
<Typography className="mb-2 font-semibold opacity-50">
{title}
</Typography>
{items.map(({ title, href }) => (
<li key={title}>
<Typography
as="a"
href={href}
className="py-1 hover:text-primary"
>
{title}
</Typography>
</li>
))}
</ul>
))}
</div>
</div>
<div className="mt-10 flex w-full flex-col items-center justify-center gap-4 border-t border-surface py-4 md:flex-row md:justify-between">
<Typography type="small" className="text-center">
&copy; {YEAR}{" "}
<a href="https://material-tailwind.com/">Material Tailwind</a>. All
Rights Reserved.
</Typography>
<div className="flex gap-1 sm:justify-center">
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Facebook className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Instagram className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<X className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Github className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Dribbble className="h-4 w-4" />
</IconButton>
</div>
</div>
</div>
</footer>
);
}
import { Typography, IconButton } from "@material-tailwind/react";
import { Facebook, Instagram, X, Github, Dribbble } from "iconoir-react";

const LINKS = [
{
title: "Product",
items: [
{
title: "Overview",
href: "#",
},
{
title: "Features",
href: "#",
},
{
title: "Solutions",
href: "#",
},
{
title: "Tutorials",
href: "#",
},
],
},
{
title: "Company",
items: [
{
title: "About us",
href: "#",
},
{
title: "Careers",
href: "#",
},
{
title: "Press",
href: "#",
},
{
title: "News",
href: "#",
},
],
},
{
title: "Resource",
items: [
{
title: "Blog",
href: "#",
},
{
title: "Newsletter",
href: "#",
},
{
title: "Events",
href: "#",
},
{
title: "Help center",
href: "#",
},
],
},
];

const YEAR = new Date().getFullYear();

export function FooterWithSocialLinks() {
return (
<footer className="relative w-full">
<div className="mx-auto w-full max-w-7xl px-8">
<div className="grid grid-cols-1 justify-between gap-4 md:grid-cols-2">
<Typography type="h6" className="mb-4">
Material Tailwind
</Typography>
<div className="grid grid-cols-3 justify-between gap-x-6 gap-y-4">
{LINKS.map(({ title, items }) => (
<ul key={title}>
<Typography className="mb-2 font-semibold opacity-50">
{title}
</Typography>
{items.map(({ title, href }) => (
<li key={title}>
<Typography
as="a"
href={href}
className="py-1 hover:text-primary"
>
{title}
</Typography>
</li>
))}
</ul>
))}
</div>
</div>
<div className="mt-10 flex w-full flex-col items-center justify-center gap-4 border-t border-surface py-4 md:flex-row md:justify-between">
<Typography type="small" className="text-center">
&copy; {YEAR}{" "}
<a href="https://material-tailwind.com/">Material Tailwind</a>. All
Rights Reserved.
</Typography>
<div className="flex gap-1 sm:justify-center">
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Facebook className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Instagram className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<X className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Github className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Dribbble className="h-4 w-4" />
</IconButton>
</div>
</div>
</div>
</footer>
);
}

Use this footer example to display your website or web app's logo along with navigation links, contact information, social media links, links to all resources and pages and much more.

import { Typography, IconButton } from "@material-tailwind/react";
import { Facebook, Instagram, X, Github, Dribbble } from "iconoir-react";

const LINKS = [
{
title: "Company",
items: [
{
title: "About us",
href: "#",
},
{
title: "Careers",
href: "#",
},
{
title: "Press",
href: "#",
},
{
title: "News",
href: "#",
},
],
},
{
title: "Help Center",
items: [
{
title: "Discord",
href: "#",
},
{
title: "Twitter",
href: "#",
},
{
title: "GitHub",
href: "#",
},
{
title: "Contact Us",
href: "#",
},
],
},
{
title: "Resources",
items: [
{
title: "Blog",
href: "#",
},
{
title: "Newsletter",
href: "#",
},
{
title: "Free Products",
href: "#",
},
{
title: "Affiliate Program",
href: "#",
},
],
},
{
title: "Products",
items: [
{
title: "Templates",
href: "#",
},
{
title: "UI Kits",
href: "#",
},
{
title: "Icons",
href: "#",
},
{
title: "Mockups",
href: "#",
},
],
},
];

const YEAR = new Date().getFullYear();

export function FooterWithSitemap() {
return (
<footer className="relative w-full">
<div className="mx-auto w-full max-w-7xl px-8">
<div className="mx-auto grid w-full grid-cols-1 gap-8 py-12 md:grid-cols-2 lg:grid-cols-4">
{LINKS.map(({ title, items }) => (
<ul key={title}>
<Typography className="mb-2 font-semibold opacity-50">
{title}
</Typography>
{items.map(({ title, href }) => (
<li key={title}>
<Typography
as="a"
href={href}
className="py-1 hover:text-primary"
>
{title}
</Typography>
</li>
))}
</ul>
))}
</div>
<div className="mt-10 flex w-full flex-col items-center justify-center gap-4 border-t border-surface py-4 md:flex-row md:justify-between">
<Typography type="small" className="text-center">
&copy; {YEAR}{" "}
<a href="https://material-tailwind.com/">Material Tailwind</a>. All
Rights Reserved.
</Typography>
<div className="flex gap-1 sm:justify-center">
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Facebook className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Instagram className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<X className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Github className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Dribbble className="h-4 w-4" />
</IconButton>
</div>
</div>
</div>
</footer>
);
}
import { Typography, IconButton } from "@material-tailwind/react";
import { Facebook, Instagram, X, Github, Dribbble } from "iconoir-react";

const LINKS = [
{
title: "Company",
items: [
{
title: "About us",
href: "#",
},
{
title: "Careers",
href: "#",
},
{
title: "Press",
href: "#",
},
{
title: "News",
href: "#",
},
],
},
{
title: "Help Center",
items: [
{
title: "Discord",
href: "#",
},
{
title: "Twitter",
href: "#",
},
{
title: "GitHub",
href: "#",
},
{
title: "Contact Us",
href: "#",
},
],
},
{
title: "Resources",
items: [
{
title: "Blog",
href: "#",
},
{
title: "Newsletter",
href: "#",
},
{
title: "Free Products",
href: "#",
},
{
title: "Affiliate Program",
href: "#",
},
],
},
{
title: "Products",
items: [
{
title: "Templates",
href: "#",
},
{
title: "UI Kits",
href: "#",
},
{
title: "Icons",
href: "#",
},
{
title: "Mockups",
href: "#",
},
],
},
];

const YEAR = new Date().getFullYear();

export function FooterWithSitemap() {
return (
<footer className="relative w-full">
<div className="mx-auto w-full max-w-7xl px-8">
<div className="mx-auto grid w-full grid-cols-1 gap-8 py-12 md:grid-cols-2 lg:grid-cols-4">
{LINKS.map(({ title, items }) => (
<ul key={title}>
<Typography className="mb-2 font-semibold opacity-50">
{title}
</Typography>
{items.map(({ title, href }) => (
<li key={title}>
<Typography
as="a"
href={href}
className="py-1 hover:text-primary"
>
{title}
</Typography>
</li>
))}
</ul>
))}
</div>
<div className="mt-10 flex w-full flex-col items-center justify-center gap-4 border-t border-surface py-4 md:flex-row md:justify-between">
<Typography type="small" className="text-center">
&copy; {YEAR}{" "}
<a href="https://material-tailwind.com/">Material Tailwind</a>. All
Rights Reserved.
</Typography>
<div className="flex gap-1 sm:justify-center">
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Facebook className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Instagram className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<X className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Github className="h-4 w-4" />
</IconButton>
<IconButton
as="a"
href="#"
color="secondary"
variant="ghost"
size="sm"
>
<Dribbble className="h-4 w-4" />
</IconButton>
</div>
</div>
</div>
</footer>
);
}