React Footer - Flowbite
Use the footer component at the end of your page to show content such as sitemap links, brand logo, social icons and more using React and Tailwind CSS
The footer component is an important section of a website where you should provide content such as sitemap links, copyright text, logo of your brand, social media account links, and more.
Get started with the examples from Flowbite React based on multiple styles, sizes, and colors by using React components and the utility classes from Tailwind CSS.
To start using the footer component you need to import it from flowbite-react
:
'use client';
import { Footer } from 'flowbite-react';
Table of Contents#
Default footer#
Use this example to create a simple and responsive footer component with copyright text and links by adding the <Footer.Copyright>
and <Footer.Link>
items inside the <Footer>
component.
Use the href
prop to add a link to the footer link item and the year
prop to add the current year.
- React TypeScript
'use client';
import { Footer } from 'flowbite-react';
export default function DefaultFooter() {
return (
<Footer container>
<Footer.Copyright
by="Flowbite™"
href="#"
year={2022}
/>
<Footer.LinkGroup>
<Footer.Link href="#">
About
</Footer.Link>
<Footer.Link href="#">
Privacy Policy
</Footer.Link>
<Footer.Link href="#">
Licensing
</Footer.Link>
<Footer.Link href="#">
Contact
</Footer.Link>
</Footer.LinkGroup>
</Footer>
)
}
Footer with logo#
Use the <Footer.Brand>
component to add a logo to the footer component.
- React TypeScript
'use client';
import { Footer } from 'flowbite-react';
export default function FooterWithLogo() {
return (
<Footer container>
<div className="w-full text-center">
<div className="w-full justify-between sm:flex sm:items-center sm:justify-between">
<Footer.Brand
alt="Flowbite Logo"
href="https://flowbite.com"
name="Flowbite"
src="https://flowbite.com/docs/images/logo.svg"
/>
<Footer.LinkGroup>
<Footer.Link href="#">
About
</Footer.Link>
<Footer.Link href="#">
Privacy Policy
</Footer.Link>
<Footer.Link href="#">
Licensing
</Footer.Link>
<Footer.Link href="#">
Contact
</Footer.Link>
</Footer.LinkGroup>
</div>
<Footer.Divider />
<Footer.Copyright
by="Flowbite™"
href="#"
year={2022}
/>
</div>
</Footer>
)
}
Social media icons#
Feature social media accounts by adding the <Footer.Icon>
component inside the <Footer>
component.
- React TypeScript
'use client';
import { Footer } from 'flowbite-react';
import { BsDribble, BsFacebook, BsGithub, BsInstagram, BsTwitter } from 'react-icons/bs';
export default function FooterWithSocialMediaIcons() {
return (
<Footer container>
<div className="w-full">
<div className="grid w-full justify-between sm:flex sm:justify-between md:flex md:grid-cols-1">
<div>
<Footer.Brand
alt="Flowbite Logo"
href="https://flowbite.com"
name="Flowbite"
src="https://flowbite.com/docs/images/logo.svg"
/>
</div>
<div className="grid grid-cols-2 gap-8 sm:mt-4 sm:grid-cols-3 sm:gap-6">
<div>
<Footer.Title title="about" />
<Footer.LinkGroup col>
<Footer.Link href="#">
Flowbite
</Footer.Link>
<Footer.Link href="#">
Tailwind CSS
</Footer.Link>
</Footer.LinkGroup>
</div>
<div>
<Footer.Title title="Follow us" />
<Footer.LinkGroup col>
<Footer.Link href="#">
Github
</Footer.Link>
<Footer.Link href="#">
Discord
</Footer.Link>
</Footer.LinkGroup>
</div>
<div>
<Footer.Title title="Legal" />
<Footer.LinkGroup col>
<Footer.Link href="#">
Privacy Policy
</Footer.Link>
<Footer.Link href="#">
Terms & Conditions
</Footer.Link>
</Footer.LinkGroup>
</div>
</div>
</div>
<Footer.Divider />
<div className="w-full sm:flex sm:items-center sm:justify-between">
<Footer.Copyright
by="Flowbite™"
href="#"
year={2022}
/>
<div className="mt-4 flex space-x-6 sm:mt-0 sm:justify-center">
<Footer.Icon
href="#"
icon={BsFacebook}
/>
<Footer.Icon
href="#"
icon={BsInstagram}
/>
<Footer.Icon
href="#"
icon={BsTwitter}
/>
<Footer.Icon
href="#"
icon={BsGithub}
/>
<Footer.Icon
href="#"
icon={BsDribbble}
/>
</div>
</div>
</div>
</Footer>
)
}
Sitemap links#
Add sitemap links to the footer component by using the <Footer.LinkGroup>
and <Footer.Link>
components. You can also use the <Footer.Title>
component to add a title to the sitemap links and group links together.
- React TypeScript
'use client';
import { Footer } from 'flowbite-react';
import { BsDribble, BsFacebook, BsGithub, BsInstagram, BsTwitter } from 'react-icons/bs';
export default function FooterSitemapLinks() {
return (
<Footer bgDark>
<div className="w-full">
<div className="grid w-full grid-cols-2 gap-8 px-6 py-8 md:grid-cols-4">
<div>
<Footer.Title title="Company" />
<Footer.LinkGroup col>
<Footer.Link href="#">
About
</Footer.Link>
<Footer.Link href="#">
Careers
</Footer.Link>
<Footer.Link href="#">
Brand Center
</Footer.Link>
<Footer.Link href="#">
Blog
</Footer.Link>
</Footer.LinkGroup>
</div>
<div>
<Footer.Title title="help center" />
<Footer.LinkGroup col>
<Footer.Link href="#">
Discord Server
</Footer.Link>
<Footer.Link href="#">
Twitter
</Footer.Link>
<Footer.Link href="#">
Facebook
</Footer.Link>
<Footer.Link href="#">
Contact Us
</Footer.Link>
</Footer.LinkGroup>
</div>
<div>
<Footer.Title title="legal" />
<Footer.LinkGroup col>
<Footer.Link href="#">
Privacy Policy
</Footer.Link>
<Footer.Link href="#">
Licensing
</Footer.Link>
<Footer.Link href="#">
Terms & Conditions
</Footer.Link>
</Footer.LinkGroup>
</div>
<div>
<Footer.Title title="download" />
<Footer.LinkGroup col>
<Footer.Link href="#">
iOS
</Footer.Link>
<Footer.Link href="#">
Android
</Footer.Link>
<Footer.Link href="#">
Windows
</Footer.Link>
<Footer.Link href="#">
MacOS
</Footer.Link>
</Footer.LinkGroup>
</div>
</div>
<div className="w-full bg-gray-700 px-4 py-6 sm:flex sm:items-center sm:justify-between">
<Footer.Copyright
by="Flowbite™"
href="#"
year={2022}
/>
<div className="mt-4 flex space-x-6 sm:mt-0 sm:justify-center">
<Footer.Icon
href="#"
icon={BsFacebook}
/>
<Footer.Icon
href="#"
icon={BsInstagram}
/>
<Footer.Icon
href="#"
icon={BsTwitter}
/>
<Footer.Icon
href="#"
icon={BsGithub}
/>
<Footer.Icon
href="#"
icon={BsDribbble}
/>
</div>
</div>
</div>
</Footer>
)
}
Theme#
To learn more about how to customize the appearance of components, please see the Theme docs.
{
"root": {
"base": "w-full rounded-lg bg-white shadow dark:bg-gray-800 md:flex md:items-center md:justify-between",
"container": "w-full p-6",
"bgDark": "bg-gray-800"
},
"groupLink": {
"base": "flex flex-wrap text-sm text-gray-500 dark:text-white",
"link": {
"base": "last:mr-0 md:mr-6",
"href": "hover:underline"
},
"col": "flex-col space-y-4"
},
"icon": {
"base": "text-gray-500 dark:hover:text-white",
"size": "h-5 w-5"
},
"title": {
"base": "mb-6 text-sm font-semibold uppercase text-gray-500 dark:text-white"
},
"divider": {
"base": "w-full my-6 border-gray-200 sm:mx-auto dark:border-gray-700 lg:my-8"
},
"copyright": {
"base": "text-sm text-gray-500 dark:text-gray-400 sm:text-center",
"href": "ml-1 hover:underline",
"span": "ml-1"
},
"brand": {
"base": "mb-4 flex items-center sm:mb-0",
"img": "mr-3 h-8",
"span": "self-center whitespace-nowrap text-2xl font-semibold text-gray-800 dark:text-white"
}
}