artifactshot Make a post →

Turn HTML into a perfect Instagram post

You have HTML — a quote card from Claude, a stat graphic from ChatGPT, a component you styled yourself — and Instagram wants an image at exact dimensions. Going from HTML to an Instagram post the usual way means screenshot, crop, Canva, export. The direct way: render the HTML at Instagram's real size and download it.

Instagram image sizes that actually matter

FormatDimensionsRatio
Portrait feed post (max real estate)1080×13504:5
Square feed post1080×10801:1
Story / Reel1080×19209:16

The rule behind all three: Instagram serves feed images at up to 1080px wide. Upload smaller and it upscales — that's the soft, fuzzy look. Upload the exact size (or a 2×–4× multiple) and text stays crisp.

HTML to Instagram post in 3 steps

  1. Paste your HTML into ArtifactShot — hand-written or AI-generated (Claude artifacts, ChatGPT canvases, React, SVG and Mermaid all auto-detect).
  2. Pick the 4:5 or 1:1 preset. Your layout reflows live inside a true 1080×1350 or 1080×1080 viewport — what you see is exactly what Instagram gets.
  3. Download the PNG and post it. Free exports are watermarked at up to 720px; Pro exports the full size — and up to 4× for retina-sharp zooms.
Make an Instagram post from HTML — free →

Design tips for HTML that posts well

Carousel idea: multi-slide artifacts (one HTML file with several slides) are detected automatically — export each slide as its own 1080×1350 image and post them as a carousel.

HTML to Instagram post — quick FAQ

What size should the image be? 1080×1350 portrait for maximum feed space, 1080×1080 square for the classic look, 1080×1920 for Stories and Reels.

Is it free? Yes — free exports are watermarked and sized up to 1080px. Pro exports the full dimensions, clean, up to 4×.

Why does my Instagram image look blurry? The source was smaller than the target and got upscaled. Render at the true size — or 2×–4× — and it stays sharp.

Does AI-generated HTML work? Yes — from Claude, ChatGPT or Gemini, pasted as-is.