Instagram Post Generator (Fake)
Design a realistic Instagram feed post and download it as an image.
About the Instagram Post Generator
Fill in a username, caption, like count and comment count, then either paste a photo URL or pick from a few gradient backgrounds for the image area. The live preview updates as you type, and once it looks right you can export the whole card as a PNG, no account or upload required.
Photo URL always overrides the gradient picker
The image area checks the Photo Image URL field first: if it has a value, the code sets the photo tile's background-image to url("...") built from that value and uses it as the post photo; only when the URL field is empty does it fall back to whichever entry is selected in the gradient dropdown. That means clearing the URL field after pasting one doesn't restore the gradient automatically β you have to actively re-trigger the input event, for instance by reselecting a gradient option, since the render function only checks the URL's current value each time it runs.
Why the download button needs useCORS
Unlike the DM and iMessage generators on this site, which only ever render CSS gradients and typed text, this tool can pull in an external photo URL β and browsers taint a canvas the moment it draws pixels from a cross-origin image that wasn't served with the right CORS headers, silently blocking the "Download as Image" export. The useCORS: true option passed to html2canvas() tells it to request the image with crossorigin="anonymous", which works for the many image hosts that already set permissive CORS headers, but it isn't a fix for every host: a URL from a site without CORS enabled can still fail to export correctly, so results vary based on where the photo is actually hosted.
Five preset gradients, with Instagram's own as the default
The dropdown's first option is the purple-to-red-to-orange sweep that Instagram itself uses for its icon and story ring, applied here at a 135-degree angle across the photo tile. The other four (Teal Ocean, Soft Pink, Sunset Gold, Midnight Teal) are original two-stop gradients included as quick placeholder-photo alternatives for mockups that shouldn't visually reference Instagram's own brand colors, useful when the post is meant to represent a different kind of image entirely.
The avatar letter is capped at two characters
The Avatar Letter field has maxlength="2" in the markup, and the render function additionally runs .slice(0, 2) on whatever value it reads, so even a value set outside the input (or with the length restriction removed via browser devtools) would still be truncated to its first two characters before being placed in the gradient circle. If the field is left blank, the avatar falls back to a literal question mark rather than leaving the circle empty.
Every engagement number is typed by hand, not simulated
Likes, comments, and the timestamp are all free-text fields with no validation, formatting, or randomization applied β whatever string you type is rendered exactly as-is. There's no logic that estimates a "realistic" like count from a follower number or generates fake comment previews the way some engagement-simulation tools do; that keeps the tool simple and fully under manual control, but it also means the burden of making the numbers look plausible (comma placement, rounding, believable ratios) is entirely on whoever fills in the fields.
Why it's labeled "(Fake)"
Because the exported PNG is a pixel-accurate recreation of Instagram's feed-post layout, there's no visual cue in the image itself marking it as a mockup. The tool's name and its consistent framing alongside this site's other "(Fake)" chat and post generators exist specifically so it's used for memes, concept previews, and design comps rather than presented as a real, unedited screenshot from the Instagram app.
Frequently Asked Questions
Does this actually post anything to Instagram?
No. Everything happens locally in your browser β the tool builds an image that looks like an Instagram feed post, but nothing is uploaded to Instagram and no account is needed.
What happens if I enter both a photo URL and pick a gradient?
The photo URL always wins. The gradient dropdown is only used as the photo tile's background when the Photo Image URL field is left empty.
Why did my download button fail or produce a blank photo?
This usually happens when the photo URL points to an image host that doesn't allow cross-origin image requests. The tool asks for CORS access when exporting, but not every host grants it, so some external image URLs can't be captured into the downloaded PNG.
Can the avatar circle show more than two letters?
No. The Avatar Letter field is capped at two characters, both by the input's maxlength attribute and by the script that renders it, so anything longer is automatically trimmed.
Does the tool calculate realistic like or comment counts for me?
No. Likes, comments, and the timestamp are all plain text fields you fill in yourself β there's no formula estimating what a "realistic" number would look like based on followers or engagement.
Is the downloaded image safe to use for design mockups?
Yes, that's exactly what it's built for β UI comps, concept previews, and memes. It shouldn't be presented as an authentic, unedited screenshot from the Instagram app since there's nothing in the image marking it as generated.