Figma marketing website social proof sections
Social proof sections in Figma: logo bars, cards, and optical sizing
A logo bar is the fastest claim a website makes. Six marks, no sentence, and the visitor has decided whether you are a real company before they finish the headline. It is the shallow end of persuasion and it works, which is why a testimonial section lower down the page can afford to be slower.
It is also the section that breaks most often, because logos are not a component library. They are hundreds of files drawn by hundreds of different people to no shared spec, and the moment you line six of them up, every one of those decisions becomes your problem.
The optical sizing problem
Set every logo to the same measured height and the row will look wrong. A long wordmark at 40px carries twice the visual weight of a compact roundel at 40px, a mark with a tall ascender reads taller than one without, and a solid black block reads heavier than an outline of identical size.
The correction is optical, not arithmetic: you nudge individual marks up or down and in or out until the row settles, and you do it by eye, at the size it will actually be viewed. The Full width layout locks all six slots to a 40px frame height inside a 1,216px row and lets the widths do whatever they like, from 122px to 167px. That constraint is deliberate. It leaves you one variable to correct instead of two.
Five layouts, including one that runs off the page
Full width is the classic strip: a line of eyebrow text over six logos, 288px tall at 1,440px. Full width dual stacks two rows and grows to 352px. Full width masked is the marquee version, eight logos laid edge to edge under a three-part gradient mask, 200px of fade at each end and 816px clear in the middle, with the first and last marks deliberately running past the container so the row reads as continuing rather than stopping.
Card lifts the strip into a contained panel and lands at 416px. Cards gives every logo its own 292x168 tile in a four by two grid, mark centered at 40px, and that is the layout to reach for when your logos disagree most: the tile boundary does the aligning the marks refuse to do themselves.
Each type comes in default and brand themes, at 1,440px and 375px, in light and dark. Which one you reach for is mostly a question of position: the full width strip chases a hero, while the card grid is heavy enough to be a section of a landing page in its own right.
Swapping in the real thing
Every slot is an instance, so replacing placeholders with real customers is an instance swap rather than a redraw, and the row keeps its spacing while you do it. Figma's guide to editing instances with component properties covers the dropdown. The 180+ free placeholder company logos exist for exactly this gap, when the section is designed and legal has not yet cleared the third name on the list.
Two habits worth keeping: pick one treatment for the whole row, either all monochrome or all full color, never a mix, and check the row at 375px, where six logos become a stack and the weakest mark suddenly has nothing beside it to hide behind.
What a screen reader hears
A logo bar that is pure reassurance, with nothing clickable in it, should be invisible to assistive technology rather than a recital of eight brand names. The W3C's tutorial on decorative images makes the call clear: empty alt, and the section is skipped.
If the logos link somewhere, to a case study or the customer's site, they stop being decorative and the alt text should name the destination instead. That is a handoff note, not a Figma problem, but it is the kind of thing that never gets written down unless somebody writes it down.
In code, Untitled UI React social proof sections are open source, built with Tailwind CSS and React Aria, and cover the same full width, masked, card, and grid layouts with the responsive row-to-stack behavior handled.
Frequently asked questions
How many logos should a social proof section show?
Six is the number these layouts are built around, and it holds up. Fewer than four looks like the complete list. More than eight and nobody reads past the third, which is why the Cards layout caps at eight tiles.
Order matters more than count: put your most recognizable customer first, because that is the only one many visitors will register.
How do I make a scrolling logo marquee in Figma?
Lay the logos in one wide auto layout row, place it in a container with Clip content on, and add a gradient mask at each end so the row fades out instead of being cut off.
The Full width masked layout is already built this way, with 200px of fade on each side. For motion in a prototype, a smart animate loop between two frames offset by one logo width is the usual trick.
Do I need permission to use a customer’s logo on my website?
Usually you already have it, and usually you should check anyway. Plenty of B2B contracts include a clause covering logo use in marketing, and plenty of companies have brand guidelines dictating clear space, minimum size, and which lockup you may use.
Asking costs an email. Being asked to take a logo down after launch costs a design review.
Are these social proof sections included in the free version?
The social proof sections are part of the paid Untitled UI Figma kit; pricing covers what is included.
If you want to try the system first, the 100% free Figma UI kit has core components from the same foundations, and the placeholder company logos are free to use in personal and commercial work regardless.
Is there a React version of these social proof sections?
Yes. Untitled UI React social proof sections are open source, built with Tailwind CSS and React Aria, and include the full width, dual, masked, card, and cards layouts in both themes, along with the press mentions variant.
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



































































































































