Footers for React and Tailwind
The end of every page, from a slim app footer to a large closing statement.
Switch category
Marketing
- Hero17
- Features15
- Logo clouds8
- Stats8
- Pricing11
- Testimonials11
- Call to action11
- FAQ7
- Newsletter12
- Banners9
- Popups and consent7
- Services7
- Use cases6
- Security and trust7
- Changelog and roadmap6
- Launch and waitlist6
- Product tour6
- Press and awards10
- AI features6
- App download5
- Donations and support4
- Problem and solution5
- Objections5
- Calculators10
- Quiz and product finder5
- Free trial5
- Referral and partners10
- Community5
- Open source5
- Manifesto5
- Offer5
- Lead magnet4
- Scroll stories20
- Scroll journeys13
- Scroll effects13
- Scroll reveals and transitions15
Content
- Blog16
- Gallery7
- Team8
- About11
- Content8
- Process7
- Contact8
- Comparison5
- Integrations5
- Error pages5
- Careers7
- Case studies6
- Portfolio6
- Events and webinars6
- Help center6
- Legal pages5
- Documentation4
- Search results5
- Resources and downloads4
- Podcast4
- Editorial15
- Authors and interviews10
- Glossary5
- Recipes5
- Data stories10
- Long reads5
- Surveys and feedback14
- Form states12
- Request forms16
- Applications and sign-ups13
- Address, payment and consent12
App
- Authentication9
- Dashboards6
- Tables6
- Settings5
- AI and chat16
- Calendar5
- Inbox and messages5
- Notifications6
- Files6
- Projects6
- Profiles6
- Onboarding6
- Billing and usage10
- Developer settings15
- Security and access10
- Import, export and history15
- Automation and builders14
- AI answers18
- AI writing and creation13
- AI setup14
- AI assistants9
E-Commerce
Industries
- Menus7
- Appointments6
- Listings6
- Courses6
- Rooms and stays5
- Classes and schedules6
- Medical practice5
- Law firm5
- Salon and spa5
- Automotive5
- Travel5
- Sports club5
- Coworking5
- Museum5
- Cinema5
- School5
- Trades5
- Insurance5
- Banking5
- Personal brand15
- Speakers and media kits10
- Creators15
- Coaching and consulting10
- Artists and musicians15
- Dental practice5
- Veterinary practice5
- Therapy practice5
- Weddings and events5
- Architecture studio5
- Tax advisor5
- Estate agent5
- Florist5
- Winery5
- Daycare5
- Driving school5
- Care services5
- Festival5
Elements
- Buttons20
- Forms and inputs22
- Pickers and selections21
- Special input fields20
- Cards10
- Overlays21
- Navigation elements15
- Menu bars and switchers14
- Data display15
- Progress and states13
- Lists, trees and timelines17
- Charts22
- Comparison charts22
- Statistical charts20
- KPI, live and map charts22
- Text effects15
- Text accents16
- Backgrounds19
- Beams, particles and motion18
- Media19
- Code and JSON8
- Panels and splitters4
From slim app footer to mega footer
The footer is where visitors look for what the navigation left out, such as imprint, privacy, contact and the full sitemap. The nine footers here take their columns, links and legal lines as data, so one change in your link list updates every page.
Columns is the standard for marketing sites with three to five link groups. Simple row and Centered suit small sites and landing pages. With newsletter and With call to action turn the end of the page into one more chance to convert, With contact puts address and phone up front for local businesses. Mega carries large sitemaps, Big statement closes a brand site with a sentence, and App footer stays slim under an application.
Keep legal links in every variant, they are required in many countries. Group links by what visitors look for, not by your org chart. On phones the columns fold into a calm stack with tap targets of at least 44 pixels, so the footer stays usable with a thumb.
Details
What Footer brings along, read from the registry and the source.
- Area
- Layout
- Variants
- 9
- Version
- 1.0.0 · since 1.0.0
- File
- components/ui/footer.tsx
- npm packages
- None
- Languages
- English and German, 12 texts of its own
- Studio
- All 9 variants editable
- In collections
- SaaS landing pageLocal business
- Build with AI
- Over MCP in Claude, Cursor, Copilot and Codex
Props
The FooterProps interface from components/ui/footer.tsx, with the comments from the code.
variantoptionalFooterVariantcolumnssimple-rowbig-statementwith-newsletterwith-contactmegacenteredapp-footerwith-cta
brandrequired{ name: string; href?: string; logo?: React.ReactNode }descriptionoptionalReact.ReactNodeOne or two sentences under the logo
columnsoptionalFooterColumn[]legaloptionalFooterLink[]Imprint, privacy, terms and the like
copyrightrequiredstringsocialoptionalFooterLink[]Social profiles as plain text links. The kit draws no third-party logos.
languageoptional{ value: string; options: { value: string; label: string }[]; onChange?: (value: string) => void }A language picker in the bottom row
newsletteroptional{ title: string; description?: string; placeholder?: string; button: string; note?: string; onSubscribe?: (email: string) => void | Promise<void> }with-newsletter
contactoptional{ address: string[]; phone?: string; email?: string; hours?: { days: string; time: string }[]; media?: React.ReactNode; action?: { label: string; href: string }; }with-contact
statementoptionalReact.ReactNodebig-statement: the large line and the link under it
statementActionoptional{ label: string; href: string }ctaoptional{ title: React.ReactNode; description?: string; primaryAction: { label: string; href: string }; secondaryAction?: { label: string; href: string } }with-cta
statusoptional{ label: string; href: string; state?: 'ok' | 'degraded' | 'down' }app-footer: system status and version
versionoptionalstring
Built-in texts
Footer writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.
Show all 12 texts
| Key | English | German |
|---|---|---|
| footer | English Footer | German Fußzeile |
| English Email address | German E-Mail-Adresse | |
| invalid | English Please enter a valid email address. | German Bitte gib eine gültige E-Mail-Adresse ein. |
| success | English Thanks. Please confirm the link we just sent you. | German Danke. Bitte bestätige den Link, den wir dir gerade geschickt haben. |
| sending | English Sending… | German Wird gesendet… |
| language | English Language | German Sprache |
| top | English Back to top | German Nach oben |
| address | English Address | German Adresse |
| hours | English Opening hours | German Öffnungszeiten |
| reach | English Reach us | German So erreichst du uns |
| follow | English Follow | German Folgen |
| legal | English Legal | German Rechtliches |
Accessibility
Read from the source of the component.
- Sets aria-busy, aria-describedby, aria-invalid, aria-label, aria-labelledby and aria-live, so screen readers announce purpose and state.
- Uses the role status.
- Announces changes through a live region without moving focus.
- Every field has a label, visible or for screen readers.
- Adds text for screen readers where icons and graphics stand alone.
- The server renders the starting state in full, JavaScript only adds the interaction.
Motion
- Rises in briefly the first time it comes into view (kit-rise, useInView).
- Moves with the scroll, its progress follows the position on the page.
- Brings animations of its own, calmly timed and without wobble.
- With reduced motion (prefers-reduced-motion) it stays still. 10 places in the code switch motion off then.
Frequent questions
How do I install Footer?
With aiw add @ai-website/footer. The command puts components/ui/footer.tsx into your project, the code is yours from then on. It brings along button and icon. It needs no further npm packages.
Which variants does Footer have?
9 variants, Columns, Simple row, Big statement, With newsletter, With contact, Mega, Centered, App footer and With call to action. You pick one with the variant prop, for example variant="simple-row".
Can I translate the texts of Footer?
Yes. Footer carries 12 texts of its own in English and German, such as “Footer”, “Email address” and “Please enter a valid email address.”. The language follows the KitProvider, single texts change through the labels prop.
Can an AI assistant build with Footer?
Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Footer with aiw_components and install it with aiw_add @ai-website/footer. Name the variant in your prompt, for example variant="columns", and the assistant writes your content straight into the props.
Can I adjust Footer without code?
Yes, in the Studio. All 9 variants are editable there, texts, lists and switches. The Studio writes the matching Footer code to copy.
Similar components, Often combined with
Similar components
More from Layout, the same area of the kit.
- SidebarsNavigation for applications.
- Page headersThe heads of inner pages and sections. Titles with actions, tabs, figures and search.
- App shellsThe frame of an application. Sidebar, header and panes that fit together on every screen.
- Sub navigationNavigation inside a page and on phones. Section bars with scroll spy, tables of contents and bottom tab bars.
- All of LayoutNavbars, footers, page headers, sub navigation and app shells that hold a site together.
Often combined with
Sections that usually sit next to Footers on a page.
Loading the source