Home / Blocks / Application / App Shells
5 blocks in this section

Shadcn App Shells and Dashboard Layouts

Start with a full shadcn/ui page shell for an ecommerce site, landing page, or blog, with navigation and content regions already in place.

Jump to an app shell block

5 blocks in this collection

Free Pro

  1. App Shell 1 Free
  2. App Shell 2 Pro
  3. App Shell 3 Pro
  4. App Shell 4 Pro
  5. App Shell 5 Pro

How it works

Three steps to working code

Install a block and the files land in your repository. Nothing calls back to us.

  1. terminal

    $ npx shadcn@latest add @shadcnstore/app-shell-1

    ✓ Checking registry

    ✓ Installing dependencies

    01

    Run one command

    Every preview above prints its own. The CLI writes the block and the components it needs into your project.

    Installation docs
  2. your project 3 files added

    components/

    ├─ ui/

    ├─ button.tsx

    └─ navigation-menu.tsx

    └─ app-shell-1.tsx

    02

    Get real files

    React, TypeScript and Tailwind v4, with no framework imports. Next.js, Vite, Remix and Astro all work.

  3. app-shell-1.tsx

    <Menu.Trigger

    - asChild

    + render={<button />}

    />

    03

    Edit it as your own

    Built on Base UI, not Radix, so keyboard and focus behaviour come from the primitive.

Blocks that hold state already carry the use client directive the Next.js App Router needs.

Guide

App shells, the frame every signed-in screen sits in#

The shell is the decision every other screen inherits. It sets where navigation lives, how much room content gets, where context is shown, and what happens at 375 pixels. Get it right once and new pages are quick; get it wrong and every page after it argues with the layout.

The five application shells#

  • App Shell 1: a responsive sidebar with a breadcrumb header, workspace navigation and a calm content frame. Free, and the right default for most products.
  • App Shell 2: a collapsible icon rail that persists its state, with accessible tooltips on the collapsed icons, a mobile sheet, and content that reflows rather than being squeezed.
  • App Shell 3: two-level top navigation with workspace context and a scrollable sub-navigation, for products with a wide top-level and shallow depth.
  • App Shell 4: a multi-tenant workspace shell with a switcher, persisted nested navigation, breadcrumb context and a seam for a command palette.
  • App Shell 5: resizable list, detail and inspector panes with keyboard selection and a designed mobile stack.

A sidebar suits a product with more than about six destinations, because vertical space is cheaper than horizontal. An icon rail suits one where people work in a single area for long stretches and want the room back. Top navigation suits a shallow product, or one where the content genuinely needs the full width.

The collapse state is worth persisting either way. Somebody who collapsed the sidebar did so because they wanted the space, and re-expanding it on the next page load is a small daily insult.

The three-pane layout#

App Shell 5 is list, detail and inspector, which is the shape most inbox, issue tracker and file browser interfaces settle on. Two details make it work: panes that resize and remember, and keyboard selection that moves through the list without touching the mouse. On a phone it becomes a stack rather than three crushed columns, because three panes at 375 pixels is not a layout.

Multi-tenant products#

App Shell 4 carries a workspace switcher, navigation that persists per workspace, and breadcrumb context showing which tenant you are in. That last one matters more than it sounds: the most expensive mistake in a multi-tenant tool is doing the right thing in the wrong workspace, and the shell is the only place that can prevent it.

The shells take their navigation from a typed data file and mark the current item from the path, so wiring them to Next.js, React Router or an Inertia app is a matter of passing the current location rather than editing the component. Nested items expand to reveal the active child on load, which is the behaviour people expect and the one most hand-built sidebars forget after a full page reload.

The current item is marked with aria-current as well as a visual state. That matters in a product more than on a marketing site, because a sidebar with twenty items is exactly the case where somebody navigating by screen reader needs to know where they already are.

What goes inside the shell#

Start with the frame, then fill it: KPI cards across the top, charts for trends, a datatable for records, and complete app screens where a whole surface needs designing rather than assembling. The error pages should sit inside the same shell, so a failure still looks like your product.

FAQ

App Shells questions, answered

What people ask before choosing a block from this collection.

The frame every signed-in screen sits inside: navigation, a header carrying context, and the content region. Getting it right once is what stops each new page inventing its own layout, which is the usual reason an internal tool starts to feel unfinished.
App Shell 2 is a collapsible icon rail that persists its state, keeps accessible tooltips on the collapsed icons, and switches to a sheet on mobile while the content reflows rather than being squeezed.
App Shell 4. It carries a workspace switcher, nested navigation that persists per workspace, breadcrumb context and a seam for a command palette. Those four are what a product needs before the second customer arrives.
App Shell 5 gives resizable list, detail and inspector panes with keyboard selection and a designed mobile stack rather than three panes crushed into a phone width. It is the shape most inbox and issue-tracker interfaces settle on.
App Shell 1, with a responsive sidebar, breadcrumb header and workspace navigation, is free. The icon rail, two-level, multi-tenant and three-pane shells are Pro. See the pricing page.

Documentation

The components behind these blocks

How to install, customise and combine the shadcn/ui components this collection is built from.

Free & Premium Templates

Launch Faster with Complete Templates

Love these blocks? Get our free dashboard and landing page templates with 30+ pre-built pages and all the components you need. Premium templates with advanced features launching soon at $69.

Free Templates Now
30+ Pages Included
Premium Coming Soon