A four-column footer with a wide brand column carrying a parenthetical eyebrow, an oversized wordmark, a two-line tagline and labelled social links, beside three ruled link columns with an inline mail address and a centered copyright bar.
A four-column studio footer: a wide brand column carries a parenthetical eyebrow, an oversized wordmark, a two-line tagline and a row of labelled social links, while three ruled link columns sit beside it with an optional mail address inline, all closing on a centered copyright rule.
Upgrade to Pro
Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.
Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.
Radix flavor
npx shadcn add "https://ui.beste.co/r/footer122?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/footer122?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/footer122.tsx plus the badge7 eyebrow it uses.
The installed file exports footer122Demo alongside the block: the exact props behind the preview above. Spread it to get a working footer in one line.
import { Footer122, footer122Demo } from "@/components/beste/block/footer122";
export default function Page() {
return <Footer122 {...footer122Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Footer122 } from "@/components/beste/block/footer122";
export default function Page() {
return (
<Footer122
badge={{ label: "Keep in touch" }}
brand="Auralis"
brandHref="/"
description={"Strategy, craft and a small team that stays on.\nWhere calm brands find their shape."}
socials={[
{ label: "Instagram", icon: "instagram", href: "https://instagram.com/auralis" },
{ label: "LinkedIn", icon: "linkedin", href: "https://linkedin.com/company/auralis" },
]}
columns={[
{
title: "Studio",
links: [
{ label: "About us", href: "/about" },
{ label: "Selected work", href: "/work" },
],
},
{
title: "Journal",
links: [{ label: "Recent notes", href: "/journal" }],
},
{
title: "Contact",
links: [{ label: "Start a project", href: "/contact" }],
email: "hello@auralis.co",
},
]}
copyright="© 2026 Auralis. Made with intent."
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string } | – | Eyebrow above the wordmark, rendered as a Badge7 |
brand | string | – | Wordmark at the top of the brand column |
brandHref | string | "https://beste.co" | Destination the wordmark links to |
description | string | – | Tagline under the wordmark, newlines preserved |
socials | SocialLink[] | [] | Labelled social links closing the brand column |
columns | FooterColumn[] | [] | Ruled link columns beside the brand column |
copyright | string | – | Centered line in the bottom bar |
className | string | – | Extra classes for the outer <footer> |
type SocialIcon =
| "instagram"
| "twitter"
| "linkedin"
| "facebook"
| "youtube"
| "dribbble";
type SocialLink = {
label: string;
icon: SocialIcon;
href: string;
};
type FooterLink = {
label: string;
href: string;
};
type FooterColumn = {
title: string;
links: FooterLink[];
email?: string;
};lg:grid-cols-[2fr_1fr_1fr_1fr], so the layout is built for exactly three link columns: pass fewer and the trailing track stays empty, pass more and the extras wrap onto a second row.lg the brand column spans both columns of the md:grid-cols-2 grid, so the wordmark and tagline keep their full measure while the link columns pair up underneath.description renders with whitespace-pre-line, so a \n inside the string becomes a real line break, and max-w-md keeps the tagline from running the full width of the brand column.icon is a key into a fixed icon map rather than a component reference, which keeps the props serializable when they come from a CMS or a server component; only the six listed names resolve.email is appended as the last list item and rendered as a mailto: link with a mail glyph, so contact details sit inside the same ruled column as the links.text-muted-foreground to text-foreground; the column rules and section borders stay constant, matching the rest of the set.border-t whether or not copyright is set, so the footer always closes on a rule even when the line is omitted.footer13
Comprehensive footer with brand section, four navigation columns, social links, and bottom legal links. Perfect for enterprise websites and established businesses with extensive site structures.
footer10
Two-column footer with brand logo, tagline, and copyright on left, navigation links on right. Perfect for startups and SaaS products wanting clean brand presentation.
footer15
Four-column navigation footer with brand description and dedicated social media icon row in the bottom section. Perfect for media companies and brands with strong social presence.
footer108
Footer with a brand intro and three link columns over a copyright bar, closed by one oversized wordmark cropped at low opacity so its lower third bleeds off the bottom edge.