---
title: Footer (React) - USWDS + Tailwind
description: Help visitors find useful links at the bottom of a page with footer
  layouts in default, big, and slim styles.
---

# Footer

Help visitors find useful links at the bottom of a page with footer layouts in default, big, and slim styles.

## Examples

### Default

```tsx
import { Footer, Link } from '@uswds-tailwind/react'

export default function FooterDemo() {
  return (
    <Footer.Root>
      <Footer.ReturnToTop>
        <Link href="#main-content">Return to top</Link>
      </Footer.ReturnToTop>
      <Footer.Primary>
        <Footer.PrimaryInner>
          <Footer.PrimaryList>
            <Footer.PrimaryItem><Footer.PrimaryLink href="#">About us</Footer.PrimaryLink></Footer.PrimaryItem>
            <Footer.PrimaryItem><Footer.PrimaryLink href="#">Resources</Footer.PrimaryLink></Footer.PrimaryItem>
            <Footer.PrimaryItem><Footer.PrimaryLink href="#">Contact us</Footer.PrimaryLink></Footer.PrimaryItem>
          </Footer.PrimaryList>
        </Footer.PrimaryInner>
      </Footer.Primary>
      <Footer.Secondary>
        <Footer.SecondaryInner>
          <Footer.Logo>
            <div aria-hidden="true" className="bg-white size-20 rounded-full" />
            <Footer.LogoHeading>Name of agency</Footer.LogoHeading>
          </Footer.Logo>
          <Footer.Contact>
            <Footer.SocialLinks>
              <Footer.SocialLink href="#"><span className="icon-[fa6-brands--facebook] size-full" /><span className="sr-only">Facebook</span></Footer.SocialLink>
              <Footer.SocialLink href="#"><span className="icon-[fa6-brands--youtube] size-full" /><span className="sr-only">YouTube</span></Footer.SocialLink>
            </Footer.SocialLinks>
            <Footer.ContactHeading>Agency Contact Center</Footer.ContactHeading>
            <Footer.Address>
              <Footer.ContactInfo><Footer.ContactLink href="tel:1-800-555-5555">(800) 555-GOVT</Footer.ContactLink></Footer.ContactInfo>
              <Footer.ContactInfo><Footer.ContactLink href="mailto:info@agency.gov">info@agency.gov</Footer.ContactLink></Footer.ContactInfo>
            </Footer.Address>
          </Footer.Contact>
        </Footer.SecondaryInner>
      </Footer.Secondary>
    </Footer.Root>
  )
}
```

### Big

```tsx
import { Button, Footer, Input, Link } from '@uswds-tailwind/react'

export default function FooterMediumDemo() {
  return (
    <Footer.Root variant="big">
      <Footer.ReturnToTop>
        <Link href="#main-content">Return to top</Link>
      </Footer.ReturnToTop>
      <Footer.Primary>
        <Footer.PrimaryInner>
          <Footer.Nav>
            <Footer.Section>
              <Footer.SectionHeading><h4>About</h4></Footer.SectionHeading>
              <Footer.SectionList>
                <Footer.SectionItem><Footer.SectionLink href="#">Our agency</Footer.SectionLink></Footer.SectionItem>
                <Footer.SectionItem><Footer.SectionLink href="#">Leadership</Footer.SectionLink></Footer.SectionItem>
              </Footer.SectionList>
            </Footer.Section>
            <Footer.Section>
              <Footer.SectionHeading><h4>Resources</h4></Footer.SectionHeading>
              <Footer.SectionList>
                <Footer.SectionItem><Footer.SectionLink href="#">Services</Footer.SectionLink></Footer.SectionItem>
                <Footer.SectionItem><Footer.SectionLink href="#">Publications</Footer.SectionLink></Footer.SectionItem>
              </Footer.SectionList>
            </Footer.Section>
          </Footer.Nav>
          <div className="border-t @tablet:border-t-0 border-t-gray-cool-30 pt-8 px-4 @tablet:p-0">
            <h3 className="text-xl font-bold font-merriweather">Sign Up</h3>
            <label htmlFor="footer-email" className="block mt-3">Your email address</label>
            <Input id="footer-email" type="email" />
            <Button className="mt-2 @mobile-lg:mt-6">Sign Up</Button>
          </div>
        </Footer.PrimaryInner>
      </Footer.Primary>
      <Footer.Secondary>
        <Footer.SecondaryInner>
          <Footer.Logo>
            <div aria-hidden="true" className="bg-white size-20 rounded-full" />
            <Footer.LogoHeading>Name of agency</Footer.LogoHeading>
          </Footer.Logo>
          <Footer.Contact>
            <Footer.ContactHeading>Agency Contact Center</Footer.ContactHeading>
            <Footer.Address>
              <Footer.ContactInfo><Footer.ContactLink href="tel:1-800-555-5555">(800) 555-GOVT</Footer.ContactLink></Footer.ContactInfo>
              <Footer.ContactInfo><Footer.ContactLink href="mailto:info@agency.gov">info@agency.gov</Footer.ContactLink></Footer.ContactInfo>
            </Footer.Address>
          </Footer.Contact>
        </Footer.SecondaryInner>
      </Footer.Secondary>
    </Footer.Root>
  )
}
```

### Slim

```tsx
import { Footer, Link } from '@uswds-tailwind/react'

export default function FooterSlimDemo() {
  return (
    <Footer.Root variant="slim">
      <Footer.ReturnToTop>
        <Link href="#main-content">Return to top</Link>
      </Footer.ReturnToTop>
      <Footer.Primary>
        <Footer.PrimaryInner>
          <Footer.PrimaryList>
            <Footer.PrimaryItem><Footer.PrimaryLink href="#">About us</Footer.PrimaryLink></Footer.PrimaryItem>
            <Footer.PrimaryItem><Footer.PrimaryLink href="#">Resources</Footer.PrimaryLink></Footer.PrimaryItem>
            <Footer.PrimaryItem><Footer.PrimaryLink href="#">Contact us</Footer.PrimaryLink></Footer.PrimaryItem>
          </Footer.PrimaryList>
          <Footer.Address>
            <Footer.ContactInfo><Footer.ContactLink href="tel:1-800-555-5555">(800) 555-GOVT</Footer.ContactLink></Footer.ContactInfo>
            <Footer.ContactInfo><Footer.ContactLink href="mailto:info@agency.gov">info@agency.gov</Footer.ContactLink></Footer.ContactInfo>
          </Footer.Address>
        </Footer.PrimaryInner>
      </Footer.Primary>
      <Footer.Secondary>
        <Footer.SecondaryInner>
          <div aria-hidden="true" className="bg-white size-12 rounded-full" />
          <Footer.ContactHeading>Agency Contact Center</Footer.ContactHeading>
        </Footer.SecondaryInner>
      </Footer.Secondary>
    </Footer.Root>
  )
}
```

## Component API

Compose a footer from primary navigation, identity, contact, and optional section parts.

### Root `<footer>`

Provides the layout variant.

| Prop | Type | Default | Description |
| - | - | - | - |
| `variant` | `default \| slim \| big` | `default` | Selects the footer layout. |

### ReturnToTop `<div>`

Holds a return-to-top link.

### Primary `<nav>`

Contains primary footer navigation.

### PrimaryInner `<div>`

Constrains primary content width.

### PrimaryList `<ul>`

Place PrimaryItem parts here.

### PrimaryItem `<li>`

Wrap one PrimaryLink within PrimaryList.

### PrimaryLink `<a>`

Uses primary footer link styling.

### Secondary `<div>`

Contains identity and contact information.

### SecondaryInner `<div>`

Arranges the secondary content.

### Logo `<div>`

Place the organization logo in the secondary identity block.

### LogoHeading `<div>`

Displays the organization name.

### Contact `<div>`

Groups contact details.

### SocialLinks `<div>`

Groups social links.

### SocialLink `<a>`

Put the social account name or icon here.

### Address `<address>`

Holds postal or contact information.

### ContactHeading `<div>`

Labels the contact block.

### ContactInfo `<div>`

Arranges contact methods.

### ContactLink `<a>`

Set href to a contact destination.

### Nav `<nav>`

Groups footer sections.

### Section `<section>`

Contains a footer link section.

### SectionHeading `<div>`

Labels a link section.

### SectionList `<ul>`

Lists section links.

### SectionItem `<li>`

Wrap one SectionLink so the section remains a list.

### SectionLink `<a>`

Uses section link spacing and focus styles.
