Web InnoventixFreeCode

Sitemap Style Footer

Original · free

A five-column sitemap-style footer with a brand intro and contact CTA above a full site index and a legal bottom bar.

byWeb InnoventixReact + Tailwind
footersitemapnavigation
Open

Copy prompt gives Claude Code, Cursor or v0 a ready-to-paste prompt that recreates this exact component.

npx shadcn@latest add https://webinnoventix.com/r/footer-sitemap.json
footer-sitemap.tsx
export default function FooterSitemap() {
  const sections = [
    {
      heading: "Products",
      links: ["Workspace", "Automations", "Reports", "Templates", "Mobile app", "Desktop app"],
    },
    {
      heading: "Solutions",
      links: ["For startups", "For agencies", "For enterprise", "For education", "For nonprofits"],
    },
    {
      heading: "Resources",
      links: ["Documentation", "API reference", "Guides", "Webinars", "Case studies", "Release notes"],
    },
    {
      heading: "Company",
      links: ["About", "Careers", "Blog", "Press", "Investors", "Contact"],
    },
    {
      heading: "Support",
      links: ["Help centre", "Community", "System status", "Report a bug", "Accessibility"],
    },
  ];

  return (
    <section className="bg-slate-50 px-6 py-16 dark:bg-zinc-950 md:py-24">
      <footer className="mx-auto max-w-6xl">
        <div className="flex flex-col gap-3 border-b border-slate-200 pb-10 dark:border-zinc-800 sm:flex-row sm:items-end sm:justify-between">
          <div>
            <a href="#" className="inline-flex items-center gap-2" aria-label="Meridian home">
              <span className="flex h-9 w-9 items-center justify-center rounded-lg bg-slate-900 text-white dark:bg-white dark:text-slate-900">
                <svg viewBox="0 0 24 24" fill="none" className="h-5 w-5" aria-hidden="true">
                  <circle cx="12" cy="12" r="9" stroke="currentColor" strokeWidth="1.6" />
                  <path d="M3 12h18M12 3c2.5 2.4 3.8 5.6 3.8 9s-1.3 6.6-3.8 9c-2.5-2.4-3.8-5.6-3.8-9S9.5 5.4 12 3Z" stroke="currentColor" strokeWidth="1.6" strokeLinejoin="round" />
                </svg>
              </span>
              <span className="text-lg font-bold tracking-tight text-slate-900 dark:text-white">
                Meridian
              </span>
            </a>
            <p className="mt-3 max-w-md text-sm leading-relaxed text-slate-600 dark:text-zinc-400">
              Everything your team needs, mapped in one place. Browse the full site index below.
            </p>
          </div>
          <a
            href="#"
            className="inline-flex items-center gap-2 self-start rounded-lg border border-slate-300 bg-white px-4 py-2.5 text-sm font-semibold text-slate-900 transition hover:bg-slate-100 dark:border-zinc-700 dark:bg-zinc-900 dark:text-white dark:hover:bg-zinc-800 sm:self-auto"
          >
            Contact sales
            <svg viewBox="0 0 24 24" fill="none" className="h-4 w-4" aria-hidden="true">
              <path d="M5 12h14M13 6l6 6-6 6" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
          </a>
        </div>

        <div className="mt-10 grid grid-cols-2 gap-x-8 gap-y-8 md:grid-cols-3 lg:grid-cols-5">
          {sections.map((section) => (
            <div key={section.heading}>
              <h3 className="text-xs font-semibold uppercase tracking-wider text-slate-400 dark:text-zinc-500">
                {section.heading}
              </h3>
              <ul className="mt-4 space-y-3">
                {section.links.map((link) => (
                  <li key={link}>
                    <a
                      href="#"
                      className="text-sm text-slate-600 transition hover:text-slate-900 hover:underline dark:text-zinc-400 dark:hover:text-white"
                    >
                      {link}
                    </a>
                  </li>
                ))}
              </ul>
            </div>
          ))}
        </div>

        <div className="mt-12 flex flex-col gap-4 border-t border-slate-200 pt-8 dark:border-zinc-800 sm:flex-row sm:items-center sm:justify-between">
          <p className="text-sm text-slate-500 dark:text-zinc-500">
            &copy; {new Date().getFullYear()} Meridian Software Inc.
          </p>
          <nav aria-label="Legal">
            <ul className="flex flex-wrap items-center gap-x-6 gap-y-2">
              {["Privacy policy", "Terms of service", "Sitemap"].map((link) => (
                <li key={link}>
                  <a
                    href="#"
                    className="text-sm text-slate-500 transition hover:text-slate-900 dark:text-zinc-500 dark:hover:text-white"
                  >
                    {link}
                  </a>
                </li>
              ))}
            </ul>
          </nav>
        </div>
      </footer>
    </section>
  );
}

Dependencies

None — React + Tailwind only.

Licence

Built by Web Innoventix. Free for personal and commercial use, no attribution required.

Built by Web Innoventix

Need a custom interface, a full website, or SEO that gets you cited by AI? We design, build and rank it end to end.

Get a free quote

Similar components

Browse all →
Multi Column Footer With Newsletter

Multi Column Footer With Newsletter

Original

A brand block with an inline email newsletter signup sits beside three navigation columns, over a bottom bar with copyright and social icons.

Minimal Single Row Footer

Minimal Single Row Footer

Original

A compact single-row footer that centres a wordmark, inline link list and social icons above a slim copyright line.

Dark Footer With Oversized Brand

Dark Footer With Oversized Brand

Original

A dark footer pairing four compact link columns with an oversized gradient brand wordmark and a live status indicator.

Spotlight Hero

Spotlight Hero

Original

A centred hero with a soft radial spotlight, badge and dual call-to-action.

Split Hero

Split Hero

Original

A two-column hero pairing a headline and CTAs with a product mock and social proof.

Gradient Spotlight Hero

Gradient Spotlight Hero

Original

A minimal centred hero with a soft gradient-mesh backdrop, announcement pill and dual call-to-action buttons.

App Preview Hero

App Preview Hero

Original

A centred hero that pairs headline copy with a realistic product dashboard mock built entirely from markup, complete with browser chrome and a floating notification card.

Waitlist Capture Hero

Waitlist Capture Hero

Original

A dark, focused hero with an inline email capture form and avatar social proof, ready for pre-launch waitlists.

Image Backdrop Hero

Image Backdrop Hero

Original

A cinematic full-bleed hero with a layered image-style backdrop, overlaid left-aligned copy and a trusted-by logos strip.

Gradient Mesh Hero with Staggered Text Reveal

Gradient Mesh Hero with Staggered Text Reveal

Original

A full-screen hero pairing a drifting animated gradient-mesh backdrop with a word-by-word staggered blur-in headline and a logo marquee under the fold.

Typewriter Rotating Words Hero

Typewriter Rotating Words Hero

Original

A hero whose headline cycles through rotating words with a live typewriter caret over an animated grid backdrop, degrading to a gentle word swap when reduced motion is on.

Floating UI Cards Hero with Mouse Parallax

Floating UI Cards Hero with Mouse Parallax

Original

A hero with glassy floating UI cards that drift continuously and shift on mouse-parallax depth around a staggered centre headline.