Figma blog examples
Blog page design in Figma: card grids, filters, and pagination
A blog index is a routing page. Nobody arrives to read it, they arrive to pick something, and the pick happens in two or three glances at a headline, a category, and a thumbnail.
Company blogs, changelogs, newsrooms and resource libraries all land on this page, and they mostly fail the same way: forty cards of identical weight and nothing to look at first.
Card density is the real decision
The examples here take different positions on how much to show at once. One fills a 1,216px content area with two 592px cards per row, four rows deep, and closes with a pagination row. Another sets a 400px heading and button column beside a stack of two wider 752px cards, which reads as an edited highlight rather than an archive. Both work.
The mistake is drifting into one of them by accident. Nielsen Norman Group's definition of the card component is a useful check before you commit: cards suit browsing and mixed content types, while a dated list beats them when people are hunting for one specific post. Three hundred posts of the same kind do not need three hundred cards.
Column count is the second lever. A three column grid of 384px cards fits nine tiles above the pagination row, and one example spends a tile on a subscribe card instead of a tenth post, which is a better placement than the newsletter band everyone scrolls past at the bottom. That same layout puts a 168px sort select on the same line as the category tabs, so filtering and ordering share one row rather than competing for the top of the page.
Filters, pagination, and the parts around the grid
A blog index is mostly other components arranged well. Above the grid sits a 637px row of horizontal tabs acting as a category filter, and a full width pagination component sits under the last row of cards. Below that, most of these pages run a newsletter CTA section and a footer, and several add a second band of posts built from a blog section so recent and featured posts can be separated without a second template. Because the page is assembled from those pieces, swapping the two column grid for the highlight layout is a component swap, not a redesign.
The blog post card itself is a 320px image beside a 256px column holding a label line, a headline, two lines of supporting text, and an author avatar row, which is roughly as much as anyone reads before deciding. In the two column grid its height is pinned at 213px, so rows stay aligned when one headline runs long.
The pages behind the cards are the blog post page examples, built from the blog post page headers and content items.
Long pages, small screens, and prototyping the scroll
Every example exists as a 1,440px desktop page and a 375px mobile version, in light and dark mode. The mobile numbers are the ones worth looking at: a grid that fits comfortably on desktop becomes a scroll of roughly 4,000 to 6,700px on a phone, and a newsletter block placed after twelve stacked cards is a newsletter block almost nobody reaches.
When you prototype it, set the page frame to vertical overflow and mark the navigation as fixed so the header stays put while the cards move, which Figma's guide to scroll and overflow behavior covers in detail. Sticky is the other option, and it is the right one when the filter row should pin under the nav rather than scroll away.
When the design is settled, the same pages exist in code. Untitled UI React blog pages are open source, built with Tailwind CSS, assembled from the same sections, so the card grid you spaced in Figma is the card grid that ships.
Frequently asked questions
How many blog posts should show before pagination?
Eight is a sensible default and it is what the two column examples here use: four rows of two cards, then a pagination row. Enough to show range, short enough that the newsletter block and footer still get seen.
Load more and infinite scroll both look tidier in a mockup, but pagination is the only one of the three that gives you shareable page URLs and a visible end.
Should blog posts be shown as cards or as a list?
Cards when the posts differ from each other and people are browsing, since the thumbnail and category do real sorting work. A list when the archive is long and homogeneous, because scanning twenty titles in a column is faster than scanning twenty cards. NN/g makes the same split.
Plenty of good blogs do both: cards for the recent few, a list for everything older.
How do I prototype a scrolling blog page in Figma?
Set the page frame to vertical overflow, then set the header navigation to fixed so it stays in place while the cards scroll behind it. If you want the category tabs to pin under the nav instead of leaving with the content, set them to sticky rather than fixed.
The 375px mobile versions are the ones worth testing this way, since that is where the page length actually bites.
Are these blog page examples included in the free version?
The blog page examples are part of the paid Untitled UI Figma kit. See pricing for what's included.
The 100% free Figma UI kit covers core components from the same system if you want to try the foundations first, and anything you build on them carries over.
Is there a React version of these blog pages?
Yes. Untitled UI React blog pages are open source, built with Tailwind CSS from the same sections.
So a developer assembles the coded index the same way you assembled the design, cards and pagination included.
Foundation Figma components and styles
Figma base components
Shared Figma assets
Application UI/Dashboard examples
Application UI/Dashboard Figma components
Marketing website examples
Join our affiliate program




































































































































