Farcaster image validation / guide

Farcaster Mini App image dimensions: check every role separately.

An image that is correct for one Mini App surface can be wrong for another. Verify the deployed bytes and the field that references them before resizing, replacing, or reusing an asset.

Start with the deployed asset

Run the free, read-only surface scan.

It fetches public Mini App metadata and referenced images, then records response and image evidence. It does not edit files, render every client, or authorize repair work.

Role-by-role checklist

Measure first. Export once.

Keep each finding bound to a manifest or embed field. A generic “image invalid” result is not enough to choose the correct crop, format, or replacement.

01

Identify the image role before resizing anything

A Mini App can reference several images that are not interchangeable. The page embed image, manifest icon, splash image, screenshots, hero artwork, and Open Graph artwork each serve a different client surface. Record the manifest or fc:miniapp path that selected the image before changing the file.

Keep the source field, requested URL, final URL, and the page or manifest that referenced it.
02

Check the feed embed as a 3:2 image

Farcaster's sharing guide requires the fc:miniapp.imageUrl image to use a 3:2 aspect ratio, with dimensions from 600×400 through 3000×2000 and a file smaller than 10 MB. PNG, JPG, GIF, and WebP are supported; the guide recommends PNG for compatibility and warns against relying on SVG in production.

Keep the decoded embed JSON, final MIME type, actual byte count, width, height, and aspect ratio.
03

Export the manifest icon as 1024×1024 PNG without alpha

The manifest iconUrl has a stricter role: Farcaster's publishing guide calls for a 1024×1024 PNG with no alpha channel. A visually opaque RGBA file can still contain an alpha channel, so inspect the encoded image rather than judging it against a checkerboard preview.

Keep the PNG dimensions, color type or alpha result, MIME type, and byte hash.
04

Keep screenshots portrait and promotional artwork landscape

Manifest screenshots are portrait 1284×2778, with at most three entries. TheheroImageUrl and ogImageUrl roles are 1200×630 (about 1.91:1), and the publishing guide specifies PNG for the Open Graph image. Do not reuse a portrait screenshot as a hero image or swap a 1200×630 OG file into the 3:2 feed embed.

Keep one role-labelled evidence row for every screenshot, hero, and Open Graph URL.
05

Fetch the deployed bytes instead of trusting the filename

Request every image without a browser session and follow the redirect chain. A filename ending in .png can still return HTML, a 404 page, a bot challenge, or bytes in another format. Verify the final status, MIME type, magic bytes, byte count, dimensions, aspect ratio, and transparency against the role that references it.

Keep the final response metadata and a hash of the exact deployed bytes.
06

Treat cached embeds as separate evidence

Farcaster's sharing guide says embed metadata attached to a cast is generally scraped once and cached. Replacing an image at the origin does not prove that an existing cast will be refreshed. Validate the current page in the official embed tool and test a newly shared URL separately from the historical cast.

Keep the tested page URL, timestamp, decoded metadata, and the result from the current embed tool.
07

Re-fetch every role after deployment

After the asset change is live, repeat the same unauthenticated requests and compare exact hashes, dimensions, and headers. Then test the embed and manifest surfaces independently. Correct image evidence does not prove client rendering, discovery placement, or runtime readiness.

Keep before-and-after evidence for the same role and URL; do not call a local export a deployed fix.
Evidence boundary

Valid dimensions do not prove a working Mini App.

Public-byte checks can prove format, size, geometry, and some transparency properties. They do not prove how every Farcaster client renders animation, crops artwork, or handles a previously cached cast.

Test manifest discovery, the page embed, and client runtime separately after the image evidence is clean. Do not describe an asset-only pass as release approval.

Primary sources

Use the current Farcaster requirements.

Image rules can change. These official documents are the source of truth; this page is a diagnostic sequence, not a substitute for the current platform specification.

Need the asset set repaired?

One focused Mini App repair. 79 USDC on Base, after verification.

TLMNT first reproduces one public image failure and confirms the exact role and scope. You grant only the access needed for that repair. Payment is requested only after you receive before-and-after evidence and verify the deployed fix. Submitting the form authorizes neither access nor payment. No verified fix means no payment.