Two-column 404 page with the error code, heading, explanation, buttons, and a small note on one side, and a full-bleed image that scales on hover on the other. The image side can be flipped with a prop.
A two-column 404 page: status code, heading, explanation, buttons, and a small follow-up note on one side, a full-bleed image that scales on hover on the other. The image side is controlled by a prop, so the same block covers both mirror layouts.
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/error3?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/error3?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/error3.tsx, plus the button shadcn/ui primitive it uses for the action row.
The installed file exports error3Demo alongside the block: the exact props behind the preview above. Spread it to get a working 404 screen in one line.
import { Error3, error3Demo } from "@/components/beste/block/error3";
export default function NotFound() {
return <Error3 {...error3Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { ArrowLeft, House } from "lucide-react";
import { Error3 } from "@/components/beste/block/error3";
export default function NotFound() {
return (
<Error3
code="404"
heading="Nothing lives at this address"
description="The link you followed is broken or the page has been retired."
buttons={[
{ label: "Back to home", href: "/", icon: House },
{ label: "Previous page", href: "/docs", variant: "outline", icon: ArrowLeft },
]}
note="If you got here from a link on our site, let us know so we can fix it."
image={{
src: "https://images.unsplash.com/photo-1627196038963-7aa32a9121fb?w=1200&h=900&fit=crop",
alt: "Abstract shapes on a plain background",
}}
imagePosition="left"
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
code | string | – | Small uppercase status label above the heading |
heading | string | – | Main page heading, rendered as an h1 |
description | string | – | Explanatory paragraph under the heading |
buttons | ActionButton[] | [] | Action row under the description |
note | string | – | Muted follow-up line below the buttons |
image | { src: string; alt: string } | – | Image filling the second column |
imagePosition | "left" | "right" | "right" | Which side the image sits on from the lg breakpoint up |
className | string | – | Extra classes for the outer <section> |
type ActionButton = {
label: string;
href: string;
variant?: "default" | "outline" | "secondary" | "ghost";
icon?: LucideIcon;
};imagePosition only takes effect at the lg breakpoint, where it flips the order of the two columns. Below that the grid is a single column and the text always comes first, so mobile visitors read the message before the image.4:3 aspect box with object-cover, so any source ratio crops cleanly instead of stretching the layout.group/error3 group; the crop container keeps the overflow hidden so the border stays crisp.image the text column simply occupies the left half of the grid and the right half stays empty.error20
Two-column 404 in a quiet monochrome language: a parenthetical eyebrow, a two-line display headline, a pill call to action and an oversized report-the-link email on the left, a tall captioned photograph on the right.
error1
Minimal centered 404 page with a large error code, a heading, a short explanation, two call-to-action buttons, and a divided row of popular page links underneath.
error6
The smallest possible 404: the status code and the message sit on one line separated by a vertical rule, stacking on mobile, with a single outline button underneath.
error10
Screen-height 404 with a full-bleed background photo under a dark overlay, centered white messaging, and a solid plus outline button pair sized for marketing sites.
error2
Search-first 404 page: a controlled search field with a submit handler, plus a bordered list of suggested pages with titles, descriptions, and hover arrows.
error13
404 page that doubles as a sitemap: left-aligned messaging over four columns of grouped section links, so visitors on a large site can jump straight to the area they wanted.