Which size to use
Instagram's help page on image resolution gives the rule. A photo between 320 and 1080 pixels wide stays at its own resolution, as long as its shape is somewhere between 1.91:1 (wide) and 3:4 (tall). A narrower photo is enlarged to 320 pixels wide, a wider one is shrunk to 1080, and a shape outside that range gets cropped.
For a review, that leaves you a few safe choices:
- 1080×1080, a square. It works everywhere and is the easiest to design, because a short review sits naturally in the middle.
- 1080×1350, a 4:5 portrait. It takes more of the screen in the feed, which helps when the review runs to four or five lines.
- 1080×1440, the tallest shape Instagram keeps uncropped (3:4).
- 1080×1920 for a story, which is 9:16, the full phone screen.
Stories need a margin. Meta's guide for story ads asks you to keep about 14% at the top, 35% at the bottom and 6% on each side free of text, so the profile icon and buttons do not cover it. On a 1080×1920 image that means keeping the review between roughly 270 and 1250 pixels from the top. The guide is written for ads, but it is a safe margin for any story.
What to put on the image
Less than you think. A review post works when someone scrolling can read it in a couple of seconds. Pick a review that is short already, rather than cutting a long one down.
On the image, put the stars, the review in the customer's words, and their name in the form they agreed to: often a first name and an initial, such as "Megan R.". Add your business name or logo so the post still makes sense when it is shared on its own. If the review is about one product, name the product.
Leave the rest for the caption. Put the full review there if the image shows only part of it, and say where it was first posted. If the customer has an Instagram account and said you could, tag them there too.
Keep their email address, order number, surname and photo off the image unless they told you that is fine.
Ask the reviewer first
A customer who left a review on your website or a review site wrote it for that page. Putting it on Instagram puts their name in front of a different audience, often next to your ads. If someone would rather not be there, you want to hear it before you post, not after.
A short message is enough:
Hi Megan, thank you for the review of the birthday cake. Could we share it on our Instagram, with your name as "Megan R."? If you would rather we did not, no problem at all.
Keep the reply. If you collect reviews with your own form, you can also add a checkbox such as "You may share this review on our social media" and only post reviews where it was ticked.
In the US, the FTC's Endorsement Guides (16 CFR Part 255) cover how businesses use reviews in advertising. They are mainly about honesty, which the next section covers. This article is not legal advice. If you run paid ads with reviews, or sell in a country with its own rules, check with someone who knows them.
Credit them and keep their words
Once you put a review in quotation marks, readers take it as the customer's exact words. The FTC Guides say the same in 255.1(b): you need not quote word for word unless you present the text as the endorser's exact words, as quotation marks do. They also say an endorsement may not be "presented out of context or reworded so as to distort" the customer's opinion.
In practice:
- Do not fix their grammar or swap in nicer words. "Arrived on time and looked like the photo" stays that way.
- If you must shorten, cut whole sentences, mark the cut with "…", and make sure what is left means what the full review meant. "Great cake, but delivery was two hours late" cannot become "Great cake".
- Do not pick only five-star reviews and present them as typical if your average is lower. Section 255.2(d) warns against organising or publishing reviews in a way that distorts what customers think.
- If the customer got something for the review, such as a discount code, say so in the caption. Section 255.5 asks you to disclose a connection the audience would not expect.
Credit goes on the image or in the first line of the caption: the name they agreed to, and where the review came from.
Make the image in a minute with Formgong
If you collect reviews with Formgong, every approved review can become an image without opening a design tool:
- Open Dashboard → Reviews and pick your site.
- Go to the Share tab. Under Social media cards, pick one of your 8 newest approved reviews.
- Pick a size: Instagram 1:1, Instagram 4:5 or Instagram Story. LinkedIn and X sizes are there too. The card appears on the page.
- Press Download PNG, post it from your phone, and put the credit and the full review in the caption.


Here is exactly what the card holds. The three Instagram sizes are 1080×1080, 1080×1350 and 1080×1920, so Instagram keeps them at full resolution without cropping. The background is a gradient of your brand colour, taken from your site's brand or, if the site has none, from Settings → Brand kit; with neither, it is Formgong blue. If the review has a photo, the square, 4:5 and story cards use its first photo as the background instead, darkened a little, with the card at the bottom.
At the top sits your logo, or your store name when there is no logo. Under it is a white card with rounded corners and a soft shadow. Inside the card are five stars, gold for the rating and light grey for the rest, a large quote mark in a tint of your brand colour, the review, and the reviewer's name next to a circle with their first initial. The review takes the biggest type that fits, so a short review is large and a longer one gets smaller. With a very light brand colour, the store name turns dark and the quote mark takes a deeper shade, so both stay readable.
The card is drawn in your browser with the dashboard's own font, so accented names like Zoë Müller, Cyrillic, Hebrew and Arabic come out as the customer wrote them, and Hebrew and Arabic reviews are aligned to the right. On the free plan a small formgong.com sits under the card; Pro and Business cards leave it off.
The card uses the review as the customer wrote it, not a translation, and only reviews collected on your site or imported from your old review app are offered.
What the card will not do
The card is quick on purpose, and that comes with limits worth knowing before you rely on it.
- Long reviews get cut. If a review does not fit even at the smallest type, the card cuts it at a word and ends it with "…". Read the card before you post it: what is left must still mean what the whole review meant, as the previous section explains. Put the full text in the caption.
- One layout. The colour and logo come from your brand settings, and the layout and font are fixed. You cannot move things around or pick a different style on the card itself.
- The logo needs the right server. Your logo only appears when the server it is stored on lets other sites load it (CORS). Otherwise the card shows your store name instead.
- The name as they typed it. The card prints the name from the review and cannot shorten it to an initial.
- One photo, no video. Only the review's first photo is used, as the background of the square, 4:5 and story cards. A video the customer attached is not on the card.
- A smaller story margin than Meta's ad guide. The story card keeps the top and bottom 11% empty. That is enough for an ordinary story, but Meta asks story ads to keep 35% at the bottom clear, so for an ad the reviewer's name may sit where the button goes.
If you need your brand fonts or a layout of your own, a review-to-image tool with a design editor will serve you better.
Review-to-image tools compared
| Tool | On the free plan | Sizes | Mark on free images | Worth knowing |
|---|---|---|---|---|
| Senja | Yes, on every plan including Free | Instagram templates, any size with Resize | Not stated for images | PNG, JPEG or ZIP download |
| Shapo | Not stated on the pricing page | Square 1:1, story 9:16, landscape 16:9 | Not stated for images | A Review to Image button next to each testimonial |
| EmbedSocial | Not stated; social scheduling is listed under Pro | Not stated | Not stated | Lets you edit the review text in the post generator |
| Trustindex | Yes, ticked in the Free package | Not stated | Not stated | Review text, stars, the review site and a background image |
| Formgong | Yes | 1080×1080, 1080×1350, 1080×1920 story (plus LinkedIn and X) | A small formgong.com on Free, none on Pro and Business | Your brand colour or the review's photo behind the card; any script |
Two of the four other tools say outright that their free plan includes review images: Senja's help centre says the feature is on every plan, Free included, and Trustindex ticks "Review images for social sharing" in its Free package. Shapo's help guide gives the clearest Instagram sizes, a 1:1 square and a 9:16 story. Of the four guides we read, only EmbedSocial's mentions consent, calling it "good practice" when a post shows identifiable details, and it is also the only one that invites you to edit the review text.
Did you post one?
If you turned a review into a post and it did well, or a customer said no and told you why, write to support@formgong.com. We read every message, and we would like to know what to change on the card first.
What Formgong Reviews includes for free
- Unlimited review sites and reviews. Text, photo, video and voice reviews on Free.
- A widget with no view limit. The review widget, carousel, badge and stars in product lists load as often as your pages do.
- Review emails in your store's name. Sent after each order with your logo and colours, replies to you, no email service to set up; buyers can rate inside Gmail without leaving the email, and get one reminder (how it works).
- Bring your old reviews. Import from Judge.me, Yotpo, Loox, Shopify Product Reviews, WooCommerce, Etsy or a CSV.
- You decide what shows. Approve each review or choose a publishing mode, reply in public or in private, and let shoppers ask the author a question.
- Google. A Merchant Center review feed, and product rating markup through the WordPress plugin.
- Reviews from your form. People who filled in your contact form can get a review request automatically.
- One account for the rest. Contact forms with Telegram and Google Sheets, an AI help chat, and free website templates.
Frequently asked questions
What size should a customer review post be on Instagram?
Use 1080×1080 for a square or 1080×1350 for a 4:5 portrait in the feed, and 1080×1920 for a story. Instagram keeps photos between 320 and 1080 pixels wide at their own resolution if the shape is between 1.91:1 and 3:4.
Do I need the customer's permission to post their review on Instagram?
Ask first. The review was written for your website or a review site, and putting a name in front of a new audience is the customer's call. The FTC's Endorsement Guides also require that you use the review honestly. This is not legal advice.
Can I fix typos in a review before I post it?
Keep their words. Quotation marks tell readers the text is exactly what the customer wrote, and the FTC Guides say a review may not be reworded so as to distort the customer's opinion. If you shorten it, mark the cut with an ellipsis and keep the meaning.
Is Formgong's Instagram review card free?
Yes. Every plan, Free included, can download a card for any approved review (checked 31 October 2026). Free cards carry a small formgong.com under the card; Pro and Business cards do not.
Can Formgong make a story-size review image?
Yes. Pick Instagram Story under Social media cards and the card is 1080×1920, with the top and bottom 11% left empty. If the review has a photo, its first photo fills the background behind the card.
Sources and documentation
Official references for this guide: Instagram: image resolution of photos you share, Meta Ads Guide: image ads in Instagram Stories, 16 CFR Part 255, FTC Endorsement Guides, Senja: turn testimonials into images, Shapo: turn testimonials into images, EmbedSocial: Google reviews to social posts, Trustindex prices. Formgong Reviews docs, where data is stored.
Related guides
- Lovable form submissions to email and Telegram
- HTML contact form without a backend: a working example
- How to send website form submissions to Telegram
- Contact form not sending email? Check where it stops
- Managing website leads in Telegram without a CRM
- Form backend for Lovable, Bolt, v0, Cursor
- Telegram bot for a contact form: build or skip?
- GDPR form backend: 7 checks before you choose
- Lovable form not sending email? 6 fixes
- Netlify Forms not working? React and Bolt fixes
- Stop contact form spam without a CAPTCHA
- GitHub Pages contact form: a working setup
- Mailto Form in HTML: Why It Fails and What to Use
- HTML form to Google Sheets: 2 free methods
- Webflow form submission limit: what to do at 50
- Turnstile vs reCAPTCHA vs hCaptcha for forms
- Contact Form 7 and Elementor forms to Telegram
- Squarespace contact form not sending email?
- Shopify contact form: where do messages go?
- Google Form to Telegram: free Apps Script way
- Wix contact form not sending email? Fixes
- EU / GDPR Formspree alternatives compared
- HTML form action attribute explained
- How do HTML forms work? The HTTP request
- Types of Injection Attacks on Web Forms (2026)
- Indirect Prompt Injection in MCP
- MCP Rug Pull Attack: Detect Tool Changes
- Form without a backend: 7 ways that work
- Thank-you page after form submission (HTML)
- Indirect Prompt Injection Examples (2023–2026)
- Indirect Prompt Injection via Email
- What Is Tool Poisoning in MCP?
- WordPress contact form without a plugin
- Send email from frontend JavaScript
- How to Prevent Indirect Prompt Injection
- Honeypot Form Field: How to Add One That Works
- Contact Form with File Upload (HTML, No PHP)
- Angular contact form without a backend
- Send form submissions to Slack or Discord without Zapier
- Verify a form webhook signature (HMAC-SHA256)
- Contact forms that send nothing: 793 AI-built sites tested
- v0 contact form that actually sends: 3 ways
- How we tested AI-built contact forms, and 12 bugs we hit
- Cloudflare vs Netlify free plan: hosting that never pauses
- EmailJS 412 “Gmail_API: Invalid grant”: reconnect Gmail
- Resend “You can only send testing emails”: verify a domain
- Supabase Edge Function blocked by CORS policy: 3 causes
- Formspree “Form not found” and other errors: fixes
- Web3Forms errors: “Invalid access key” and 403 explained
- How to add customer reviews to your website for free
- Getform not working? “This form has been deleted” and more
- Next.js contact form not working? 6 errors, reproduced
- Webflow form not sending email? What to check, tested
- FormSubmit not working? “This form needs Activation” fix
- Contact form “TypeError: Failed to fetch”: causes and fixes
- WooCommerce product enquiry form
- Contact Form 7 vs WPForms
- Gravity Forms alternative free
- WordPress contact form block
- 535-5.7.8 Username and Password not accepted (Gmail)
- 535 5.7.3 Authentication unsuccessful: Office 365 SMTP
- Nodemailer “Missing credentials for "PLAIN"”: the fix
- Nodemailer “Greeting never received”: port 465 fix
- Nodemailer SSL “wrong version number”: the port fix
- Nodemailer “self-signed certificate in certificate chain”
- Nodemailer ECONNREFUSED 127.0.0.1:587: missing SMTP host
- SendGrid “authorization grant is invalid”: 401 fix
- Mailgun 401 Forbidden: why the API rejects your key
- “Edge Function returned a non-2xx status code”: the fix
- Next.js “Body exceeded 1 MB limit”: Server Action fix
- Unexpected token '<', "<!DOCTYPE "... is not valid JSON
- “TypeError: Body is unusable”: body has already been read
- Turnstile “timeout-or-duplicate” and other siteverify errors
- Turnstile vs hCaptcha vs reCAPTCHA: speed and size tested
- Judge.me reviews not showing on Shopify: how to fix it
- Judge.me review carousel not showing: how to fix it
- Yotpo reviews not showing on Shopify? Check the app embed
- Loox reviews not showing on product page: how to fix
- Shopify reviews not showing: what to check first
- How to show reviews on Shopify
- GDPR for website forms: what each type of form needs
- WooCommerce reviews not showing: how to fix it
- Stamped.io reviews not showing on Shopify: how to fix it
- Etsy reviews not showing: why and what to do
- Trustpilot widget not loading: how to fix TrustBox
- Yotpo problems in 2026: what merchants report
- Contact Form 7 “error trying to send your message” fix
- Elementor form “Your submission failed because of an error”
- Framer form not sending email or not working: what to check
- Carrd contact form not working: plans, spam and errors
- Google review link not working: what customers see and why
- tawk.to widget not showing on your website: causes and fixes
- How to add questions and answers to your product page
- “Failed to send a request to the Edge Function”: fixes
- Next.js “Failed to find Server Action”: what it means
- Brevo “unauthorized: Key not found” 401: the fix
- Amazon SES “Email address is not verified”: the fix
- Shopify contact form not working: how to fix it
- Judge.me alternative for WooCommerce after the 2025 shutdown
- Free WooCommerce review plugins compared on the free version
- WooCommerce review reminder emails without a paid plugin
- Add Voice Recording to a Website Form
- Contact Form 7 spam: how to stop it
- WPForms not sending email: how to fix it
- Contact form emails going to spam: how to fix it
- HTML form not submitting: how to fix it
- Contact form not working: how to find the fault
- Webflow form spam: how to stop it
- Website form to Notion: how to set it up
- Website form to WhatsApp: what works and what does not
- What 1-star reviews say about AI support chatbots
- Which free form backend gives you the most submissions?
- Elfsight reviews widget not showing? Check the view limit
- Next.js contact form backend vs Server Actions
- Review stars not showing in Google search results
- How to stop duplicate form submissions
- How to see which form leads came from ChatGPT
- What happens when a form webhook fails
- When to send a review request email after an order
- How to collect video testimonials for free
- Add contact form sign-ups to Mailchimp or Klaviyo
- How to migrate from Formspree without losing submissions
- How to get a Google review link for your business
- What is a headless form backend?
- Is it safe to put a form access key in your HTML?
- AI chatbot that answers only from your website
- Minified React error #441 in Next.js
- Squarespace product reviews after Judge.me
- Accessible contact form checklist for WCAG 2.2
- How to ask a client for a testimonial by email
- How to respond to negative reviews, with examples
- 429 Too Many Requests on a contact form
- MCP server for forms in Cursor and Claude
- Can you offer a discount for a review?
- Do EU stores have to say if reviews are verified?
- Webflow form backend options compared
- How to add review schema JSON-LD to a product page
- How to make a QR code for Google reviews
- Live chat or chatbot for a small business website
- Why people abandon your contact form halfway
- Which form backend do AI assistants pick? 54 answers
- PHP mail() not sending email, even when it returns true
- What “Failed to fetch” means, tested in three browsers
- 405 Method Not Allowed when you submit a form
- Send a contact form to more than one email address
- What is review syndication, and who needs it?
- How to save HTML form data to a database
- NetworkError when attempting to fetch resource
- Send product reviews to Google Merchant Center
- PHPMailer not working on a live server
- AI review reply generator: does it help?
- React 19 contact form with useActionState
- Astro Actions or a form backend?
- Is no-reply@wixsiteautomations.com legit?
- Where to find the Judge.me review widget code
- AI review summaries: what shoppers actually see
- Photo reviews for WooCommerce, and the GPS inside them
- Review request email templates you can copy
- Reviews in AI search: what ChatGPT and Perplexity cite
- Lead capture form with UTM tracking, built and tested
- Form design best practices, with our own form data
- Client intake form template with file upload
- What is social proof? Meaning and examples
- What is user-generated content (UGC)?
- Benefits of negative reviews for your store
- How to get your first reviews as a new store
- How to use customer reviews in your marketing
- How to get more customer reviews
- React form validation without a library, tested
- jQuery submit form with validation
- reCAPTCHA v3 setup with the server score check
- Shopify social proof that shoppers can check
- HTML file input: accept, multiple, capture and size checks
- How to add hCaptcha to a form, with the server check
- How to add invisible reCAPTCHA to a form
- Bug report form template with browser details
- What the FTC fake reviews rule bans for online stores
- How to show reviews on your homepage
- Do reviews increase sales? What the studies show
- HTML input types and what each one sends
- HTML textarea, tested in a real form
- HTML dropdown menu in a form, tested
- Do reviews help SEO? What Google says and shows
- How to add a review carousel people can read
- Product review examples that help shoppers decide
- Which trust badges actually mean something
- Customer satisfaction survey with CSAT and NPS
- JavaScript FormData and what fetch actually sends
- JavaScript form validation without a library
- Server-side form validation and what it catches
- Email validation in JavaScript, tested on 33 addresses
- Zod form validation with FormData, tested
- Store reviews vs product reviews
- How to send review requests through Klaviyo
- How to tag customer reviews by topic and mood
- Custom review form questions worth asking
- Online reputation management for small businesses
- HTML radio button groups and what they send
- HTML label tag and what screen readers hear
- HTML autocomplete attribute, tested with Chrome autofill
- HTML fieldset and legend, and what disabled leaves out
- HTML button tag and what a form button sends
- Vite contact form that still works after the build
- How to test a contact form, end to end
- How to embed a Google Form, and what it loads
- Customer feedback questions that get real answers
- How to convert a file to base64 in JavaScript
- FilePond with a form backend, and when to skip it
- Bootstrap form validation and server errors
- Tailwind form validation, tested in three browsers
- Donation form in HTML, and where the payment goes
- How to ask for a review in person or by text
- Which review sites matter for your business
- What are customer reviews, and which kinds count
- Online review statistics, checked at the source
- Best review app for Shopify and WooCommerce
- Why Gmail sends your self-hosted mail to spam
- htmx contact form that sends to another domain
- AI form builders tested, from prompt to sent form
- Headless WordPress forms with Contact Form 7, tested
- React Hook Form watch vs useWatch, and what gets sent
- Elfsight widget not working? It vanishes when views run out
- Jotform not sending emails? Check Jotform's bounce list
- Typeform not working? A white box means a blocked script
- Positive review response examples that don't sound copied
- How to remove a Google review when you can't delete it
- Google reviews not showing up? 8 causes to check in order
- Is buying Google reviews illegal? Even a review swap counts
- Which reviews can you hide? A review moderation checklist
- Average star rating: what 4.8 from 5 reviews means
- Reviews on a product page: where and how many to show
- SaaS testimonials: 3 of 27 had a number in them
- Do reviews reduce returns? Not when they're too good
- Testimonial examples for business: what makes one believable
- Testimonial questions to ask clients, by type of business
- Testimonial page design: a page or a section?
- Testimonial advertising rules: what the FTC requires
- Form submission canceled because the form is not connected
- Input type date format dd/mm/yyyy: what you can change
- How to disable textarea resize, or allow only vertical
- How to prevent Enter from submitting a form
- form.submit() vs requestSubmit(): what submit() skips
- Custom HTML checkbox CSS that doesn't break required
- How to reset a form after submit, and what reset() keeps
- Input type number maxlength not working? What to use
- How to create an HTML form, step by step
- Best form builder: free plans and branding, checked
- Best WordPress contact form plugin: 10 free ones compared
- How to increase form conversion rate: start with the count
- Form backend vs form builder: which one do you need?
- WordPress contact form not sending email? 3 plugins tested
- Contact Form 7 webhook? Turning it on switched our email off
- Gravity Forms webhook: what it sends and the URLs it rejects