Sign inStart free
Widget Builder · try it right here

Click anything.
Style everything.

This isn’t a video of the builder — it’s the builder. Restyle the widget below, then ship one exactly like it with a single paste, in about 90 seconds.

Free plan · no card · one script tag · live in ~90 seconds
8
widget types
65
styles
29
customizable elements
<14KB
async loader
Classic Carousel
Design

Click any element in the preview, or use these controls.

Style
Theme
Accent
Corners
<div class="retestimonial-widget" data-widget-key="classic-carousel">— a live interactive preview of your settings.
One canvas · four tabs

Everything you ship lives in four tabs

Content, Layout, Design and Settings — a full WYSIWYG editor with draft/publish, autosave and undo/redo. Here’s what each tab does.

29 elements, each yours to restyle

Business

The Design tab is element-scoped: open a drawer for any element and set its color, font, size and weight. Drawers appear only when the current style structurally supports them — no dead controls. The Business chip above marks Custom CSS.

The card itself is rearrangeable Premium+ — drag rows to reorder, pair elements side-by-side, and give the platform logo its own place on the card. Per widget, on card-based styles.

GlobalBusiness
ThemeColorsTypographyCustom CSS
Card
CardAvatarAuthorTitleQuoteRatingSource & verifiedLinksMediaVideo cardsCustom fieldsCard layout
Widget chrome
ArrowsPaginationProgressNumbersConnectorLoad moreTimeline lineAvatar tooltipTicker barChat bubblesPlaylistBubble highlightCTA buttonBadge stats
Draft / publish workflowAutosave + unsaved-changes guardUndo / redo · Ctrl+Z / Y / SPreview and embed share the same style modules — they can’t drift.
8 families · 65 styles

Start from a style, not a blank canvas

Every style is a real, editable starting point — 29 elements ready to make yours.

Like what you just styled? Ship it for real — free.

Start free — no card
The selection engine

Proof that picks itself

Choose how a widget decides what to show — from hand-picked to fully context-aware.

Curate

Hand-pick testimonials and drag them into the exact order you want, with rich filters to surface the right ones fast.

Auto-Sync

Rules pull matching testimonials in automatically — minimum rating, types, tags, source platforms — with AI filters for theme, feature, use-case, sentiment and a showcase score, plus diversify-by-theme.

Proof Match

Premium+

Match testimonials to each visitor's context: wildcard path patterns, referrer domains, UTM source/medium/campaign and page tags. Priority-ordered, first match wins, up to 20 rules.

/pricing*Objection-crushers
utm_source=producthuntMaker love
/enterprise*Security & scale

Auto-Optimize

Business

Promotes the winning Proof Match rule from attributed conversions, with guardrails — or run it observe-only first and keep control.

How Proof Match works →
Built for your engineers

The embed your dev team will actually approve

Shadow DOM isolation

Renders inside a shadow root — your site's CSS can't leak in and the widget's can't leak out. Zero style conflicts, by construction.

<14KB async loader

The embed script loads the widget runtime and data asynchronously, separately from the page content.

Lazy mount

Widgets can mount when they approach the viewport — eager, lazy or auto — to defer off-screen widget work until it is needed.

sendBeacon analytics

Impressions and interactions report with sendBeacon to avoid adding a normal fetch waterfall to page interactions.

AggregateRating JSON-LDBusiness

Emits a star-rating snippet with per-entity dedupe and SPA cleanup, so your search rich results stay correct.

GA4 / GTM forwardingPro+

Forwards widget views, testimonial clicks, CTA clicks and video events to your analytics with no extra tags.

Auto-syncs from
GoogleG2TrustpilotCapterraYelpProduct HuntXLinkedInFacebookInstagramTikTokYouTube
paste anywhere on your site — that's it
<div class="retestimonial-widget"
     data-widget-key="your-widget-embed-key" data-init="auto"></div>
<script async src="https://cdn.retestimonial.com/widget-loader.js"></script>
yoursite.com/landingINTERACTIVE PREVIEW
<div class="retestimonial-widget" data-widget-key="rating-badge">click the badge — it opens the testimonial panel.
Demo content — illustrative examples, not real customers
Global & granular

Power where you need it

Business

Translated testimonials

33 languages including RTL, auto-detect or fixed, with AI auto-translate.

Pro+

Widget UI strings

All 58 built-in interface strings, overridable per widget — per-language sets on Business.

Pro+

Custom colors & fonts

Bring your palette and typefaces — Google fonts or your own uploads.

Premium+

Custom card layout

Drag to reorder card elements, pair two side-by-side, and give the source logo its own spot on the card.

Pro+

Custom fields on cards

Surface structured fields — plan, industry, spend — right on the card.

Pro+

Third-party review links

Link a card back to the original Google, G2 or Trustpilot review.

Business

Custom CSS & JS

Drop your own CSS into the Shadow DOM for pixel-level control, or run your own script alongside the widget.

Business

Star-rating snippet

AggregateRating JSON-LD for star rich results in search.

Widget analytics

See what your proof is doing

Pro+

Every widget reports its own numbers, so you can tell which proof actually moves people.

ImpressionsUnique sessionsTestimonial clicksCTA clicksClick-through rateVideo starts & completionsTop pagesReferrer breakdownAttributed conversions & value
Explore widget analytics →
Pricing page · CoverflowIllustrative data
48,210
Impressions
3.8%
CTR
126
Conversions
Plans at a glance

Free is genuinely usable. Paid unlocks scale.

FeatureFreeProPremiumBusiness
Widgets per project21020Unlimited
Testimonials per widget1050UnlimitedUnlimited
Widget types4All 8All 8All 8
Remove branding
Proof Match

Custom CSS & JS, testimonial translations + AI translate, and the star-rating snippet are Business features.

Questions, answered

Frequently asked

How do I add testimonials to my website?

Create a widget, then paste one script tag and a div into your site — WordPress, Webflow, Shopify, Framer, Squarespace, Wix, or your own React/Next.js app. Publish changes from the dashboard afterwards without touching your site again.

Do I need to code to customize a testimonial widget?

No. Click any element in the live preview to restyle it — color, font, size and weight — with no code at all. If you want deeper control, Custom CSS and Custom JS are available on the Business plan.

Will a testimonial widget slow down my site?

The embed uses an async loader — <14KB — and widgets can lazy-mount as they approach the viewport. Widget UI renders inside Shadow DOM, isolated from your site's CSS and DOM.

Can it show my Google, G2 or Trustpilot reviews automatically?

Yes. Auto-Sync pulls in matching testimonials — including reviews synced from Google, G2, Capterra, Trustpilot, Yelp and Product Hunt — as they arrive, with no republish needed.

Does it work in other languages?

Widget interface strings are translatable and overridable on the Pro plan and above. Translating the testimonial content itself — into 33 languages including right-to-left, with auto-detection and AI auto-translate — is a Business feature.

Can I rearrange what's on the testimonial card?

Yes — Custom Card Layout (Premium plan and above) lets you drag card elements into any order, place two side-by-side, give each custom field its own row, and put the review platform's logo (Google, G2 and more) anywhere on the card. Available on card-based styles: most carousels, masonry, Classic and Magazine lists, and the Avatar Grid and Spotlight.

Can I try it free?

Yes. The free plan includes 2 widgets per project, up to 10 testimonials per widget, four widget types, and no credit card required.

Design it · paste it · done

Your first widget is 90 seconds away.

Click an element, restyle it, and ship it with a single paste. No card, no code, no redeploy.