figma guide

Designing product reviews and Q&A UI in Figma: ratings, filters, and submission flows

Design star ratings, review lists, photo uploads, Q&A threads, and verified-buyer submission flows in Figma with component variants and Dev Mode specs for ecommerce PDP teams.

Published
Updated
Jun 29, 2026
Read time
7 min
Level
Beginner

Quick answer

Product reviews and Q&A are two modules on the PDP: a ratings summary with filterable review list, and a separate questions thread with ask-and-answer flows. The summary block shows average stars, histogram, and total count above the fold on product detail pages. Reviews support sort, star filter, verified badge, helpful votes, and photo gallery. Q&A is question-first—each row shows the question, best answer, and “See all answers.” Submission uses modal or drawer forms with star input, title, body, optional photos, and verified-purchase gating. Reuse rating star components everywhere; do not duplicate star SVGs. Start from the Figma guides hub and templates pillar.


Who this is for

  • Product designers on DTC and marketplace PDPs where social proof drives conversion.
  • Design system teams unifying stars, review cards, and moderation states across categories.
  • Engineers integrating review platforms (Yotpo, Bazaarvoice, native) with syndication, photos, and Q&A APIs.

Reviews vs Q&A: when to use which

ModuleUser intentPrimary action
Reviews”Did buyers like it?”Read experiences; filter by rating
Q&A”Will this fit my need?”Ask pre-purchase questions
Both on PDPFull social proofReviews below gallery; Q&A adjacent or tabbed

Verdict: keep reviews and Q&A as separate components—mixing them in one list confuses sort logic and SEO schema.


ReviewsSummary block

ElementSpecNotes
Average scoreLarge number + starse.g. “4.6”
Total count”Based on 128 reviews”Link jumps to list
Histogram5 rows, bar + countClick filters list
Recommend %Optional”92% would recommend”
Write review CTAPrimary or secondary buttonOpens submission modal
ReviewsSummary
├── Variant: density=compact | full
├── Property: average=4.6
├── Property: totalCount=128
└── Layers:
    ├── ScoreBlock
    ├── StarDisplay
    ├── Histogram
    ├── RecommendLine (optional)
    └── WriteReviewButton

Place after buy box or in a dedicated Reviews tab. Mobile: stack score above histogram; do not hide the write CTA.


ReviewList controls

ControlOptionsBehavior
SortMost recent, highest, lowest, helpfulDropdown or segmented control
Filter by stars5★ only, 4★+, etc.From histogram click
Search reviewsKeywordOptional on long-tail SKUs
With photosToggle chipReuse filter chips
PaginationLoad more or paginationPrefer load more on mobile
ReviewListToolbar
├── Variant: layout=inline | stacked
└── Layers:
    ├── SortDropdown
    ├── FilterChips
    ├── SearchInput (optional)
    └── ResultsCount

Empty filter state: “No reviews match these filters” with clear-filters link—not a blank page.


ReviewCard anatomy

PartSpecNotes
Star row1–5 filled starsMatch rating component
TitleShort headlineBold, one line
BodyExpandable after 3 lines”Read more” toggle
Author lineName + date”Sarah M. · Verified Buyer · Jan 2026”
Verified badgeCheck + labelOnly when purchase verified
Variant tagsSize, color purchasedChips from order data
Photo stripThumbnails → lightboxReuse gallery patterns
Helpful row”Helpful? Yes · No” + countToggle, not duplicate submit
Report linkText linkOpens moderation flow
ReviewCard
├── Variant: density=standard | compact
├── Variant: hasPhotos=true | false
├── Property: rating=5
├── Property: verified=true
└── Layers:
    ├── StarRow
    ├── Title
    ├── Body
    ├── AuthorMeta
    ├── VariantTags
    ├── PhotoStrip
    └── HelpfulRow

Use Auto Layout with 12–16px vertical rhythm. Marketplace designs add seller response as indented sub-card below body.


WriteReviewModal flow

StepFieldsValidation
1. RatingInteractive 5-star inputRequired
2. TitleSingle lineMin length
3. Review bodyTextareaMin/max chars
4. PhotosUp to 5 uploadsOptional; show upload UI
5. RecommendYes/No radioOptional NPS-style
6. SubmitPrimary CTASuccess toast
WriteReviewModal
├── Variant: state=form | submitting | success | error | unverified
└── Layers:
    ├── StarInput
    ├── TitleField
    ├── BodyField
    ├── PhotoUpload
    ├── RecommendGroup
    ├── SubmitButton
    └── LegalLine ("Reviews may be moderated")

Unverified state: user not logged in or no purchase—show Sign in to review or Buy this product to review with link to PDP. Never show a dead submit button.


Q&A section layout

ElementPurpose
Section header”Questions & answers” + count
Ask question CTAOpens ask modal
Search questionsFilter existing
QuestionRowQuestion, author, date, answer preview
See all answersExpands thread or modal
Official answer badgeBrand or seller response
QASection
├── Layers:
    ├── Header + AskButton
    ├── SearchInput (optional)
    └── QuestionList
        └── QuestionRow × n

Each QuestionRow:

QuestionRow
├── Property: answerCount=3
├── Property: hasOfficialAnswer=true
└── Layers:
    ├── QuestionText
    ├── MetaLine
    ├── BestAnswerPreview
    ├── OfficialBadge (optional)
    └── SeeAllAnswersLink

Q&A sits well below reviews or in a PDP tab with reviews. Pre-purchase users scan Q&A before size guides on complex SKUs.


AskQuestionModal

FieldRequiredNotes
QuestionYesTextarea, 500 char max typical
Email notifyOpt-in checkboxWhen answered
NicknameOptionalIf guest allowed
SubmitPrimaryModeration queue message

Success state: “Thanks—we’ll email you when answered” with link back to PDP. Duplicate detection may show “Similar question exists” with links—design that branch.


Photo reviews and lightbox

StateUI
Thumbnail in card64px square, rounded
Strip on summary”Customer photos” carousel
LightboxFull image + link to source review
Upload previewIn modal before submit
Rejected photoInline error in upload zone

Align aspect ratio tokens with product gallery but allow user-generated mixed ratios. Annotate max file size and count for engineering.


Moderation and empty states

StateCopy pattern
No reviews yet”Be the first to review” + CTA
No questions”Ask the first question”
Pending moderation”Your review is being checked”
RejectedPolicy link + edit resubmit
Syndicated reviews”Reviews from our retail partners” label

Use empty state patterns with illustration optional—CTA matters more than art.


Handoff checklist

ItemDev Mode annotation
Star input a11yKeyboard 1–5; labels for screen readers
Verified buyer ruleOrder ID match, time window
Sort/filter query paramsDeep-linkable review filters
Helpful voteOne vote per user; optimistic UI
Photo CDN URLsThumbnail vs full
Q&A notificationEmail trigger on answer
SchemaAggregateRating markup fields
Analyticsreview_summary_view, write_review_start, review_submit, qa_ask, review_filter
LocalizationDate format, RTL star direction

Use Dev Mode checklist and form states for submission modals.


Common mistakes

MistakeWhy it hurtsFix
Stars only in summary, text stars in cardsInconsistent renderingOne StarDisplay component
Reviews and Q&A in one sortable listWrong mental modelSeparate modules
Write review without auth checkFailed submitsunverified modal state
No histogram interactionMissed filter affordanceBars are clickable
Helpful as form submitDuplicate reviewsToggle votes only
Hidden Q&A on mobileLost pre-purchase answersTab or accordion, not removed
Photo lightbox without review contextTrust gapShow reviewer + date in overlay
Fake review dates in designsMisleading stakeholdersUse relative date tokens

  1. Audit existing star rating components—extend, do not fork.
  2. Build ReviewsSummary, ReviewCard, and ReviewListToolbar with filter and empty states.
  3. Design WriteReviewModal including photo upload and unverified branches.
  4. Add QASection, QuestionRow, and AskQuestionModal on PDP template.
  5. Compose mobile tab or accordion if PDP is long—pair with sticky add to cart anchor links.
  6. Document verification rules, moderation, and schema fields in Dev Mode.

FAQ

Tabs vs long scroll for reviews?

Long scroll with anchor link from summary works for SEO; tabs reduce scroll on mobile—pick one per brand and stay consistent.

Show reviews on PLP cards?

Show average + count only—never full review text on cards.

Merchant replies in reviews?

Add SellerResponse sub-card indented 16px with “Response from [Brand]” label.

Syndicated vs native reviews?

Badge source when mixing—do not imply all are from your site.

Star half-points?

Display 4.6 as stars + number—half-star SVG optional; number is source of truth for a11y.


Next steps

Share on X

§ Keep reading

Related guides.