Framer Template Guide · Maker Merchant
New · Competitor intelResearched

Competitor deep dive: Whop Commerce (Orix Studio)#

A look at the existing Whop Commerce Framer plugin and what it means for our Whop-ready lander templates and plugin. Same legend as the guide below: ✅ = seen on the official listing or docs · 📊 = estimate · 🧠 = inference or recommendation · ⚠️ = not found publicly ("not found" means it wasn't visible, not that it doesn't exist).

Age~3 weeks oldLaunch post dated "3w" ago, so around late Sep 2026 📊
PriceFreeNo paid tier or license visible ✅
DocsNone foundNo docs, demo site, changelog, or limitations ⚠️
AdsNot supportedNo pixel, analytics, ads, or lander building on the listing ✅

TL;DR#

  • Young, free, thin. About 3 weeks old, free, with no docs, demo, or changelog and generic listing copy.
  • It covers the store side only: store connection, product sync, buy buttons, product cards, Whop checkout, Shippo for physical goods, and order monitoring.
  • No ads. It doesn't touch Whop Ads, the Whop pixel, lander or page generation, ad creative, spend caps, or A/B testing. That's where our paid tiers sit.
  • The big find: Whop publishes its own official @whop/framer package with an embedded checkout, so basic checkout is effectively a commodity.

What it does (and what's not stated)#

FeatureStatus
Connect Whop store / manage multiple connected storesListed ✅
Product syncListed ("sync your products"). Not stated whether it syncs to Framer CMS
Buy Buttons, Product Cards (components)Listed. These are the only named components
Digital products & subscriptionsListed (Whop-powered checkout)
Physical goods via Shippo (fulfillment + shipping tracking)Listed
Orders / checkout activity monitoring in pluginListed
CartNot mentioned ⚠️
Embedded vs redirect checkoutNot stated. Whop's official @whop/framer (WhopFramerCheckoutEmbed) makes either possible
Variants, inventory, multi-currencyNot mentioned ⚠️
Pixel / analytics / adsNot mentioned
Docs, demo site, changelog, limitationsNone found ⚠️

Technically (inferred 🧠): it likely uses Whop's Products/Plans endpoints, a checkout link or the @whop/framer embed, and Payments/Memberships for order views. Shippo is mentioned, but how it connects wasn't found.

Pricing & access#

  • The listing marks it Free ("Orix Studio·Free" in cross-listings). No paid tier or license is visible. ✅
  • Their sibling plugin, Commerce Toolkit, says "PRO — $0 one-time" and mentions "your Whop license", which hints at a planned Whop-sold license model. 🧠
  • Auth isn't documented. Whop's options are an Account API key (server-side only), an App API key for installed apps, or OAuth. A Framer plugin with no backend would most likely ask users to paste a key, or run its own server/OAuth. 🧠 Whether it's a Whop App Store app wasn't found. ⚠️

Traction (estimates)#

  • Likes, comments, and installs on the listing weren't visible to our fetch. ⚠️
  • Orix's launch posts show small engagement, in the dozens at most (the "66"/"33" figures look like counters). 🧠
  • No reviews, Reddit/X threads, or companion templates using the plugin were found. ⚠️
  • Assessment: early, low traction, about 3 weeks old. 📊

Orix Studio profile#

  • Framer "Expert" profile, United Kingdom, services "From $1K", 305 followers. Tagline: "high-converting, modern design systems… SaaS, startups & creators".
  • Templates: Hamzadesigns, Niteloom, NodeCreative, Discipline, Cognitix, Lucin (free); Loud Bureau ($39); MOVE Boots ($49, ecommerce).
  • Plugins: Whop Commerce, Arvo Commerce (Odoo → Framer CMS sync, live about 2 weeks ago), CreemGate (Creem buttons and pricing tables; V2 adds memberships, gating, license keys), Commerce Toolkit (Stripe button, QR codes, countdown timer), Cookie PRO, Motion Importer (free), Remark (paid).
  • Activity is high: about 3 commerce plugins in roughly 3 weeks, and Whop promotions (e.g. Whop BNPL) in their feed. They position as a "commerce connectors for every processor" studio, so their Whop depth is likely shallow. 🧠
  • Contact: only via the Framer profile (Expert hire). No own site or X handle found. ⚠️

The big find: Whop's official @whop/framer#

Whop ships its own official Framer package with an embedded checkout code component (WhopFramerCheckoutEmbed). Basic checkout is effectively a commodity, so we don't need Orix for it. The moat is ads, not checkout.

Gap table#

CapabilityOrix Whop CommerceWhop @whop/framerOurs: FreePro $19Scale $49
Checkout button/embed✅✅ embed✅✅✅
Product cards / sync✅—1 productmultimulti
Physical + Shippo✅—via Whopvia Whopvia Whop
Order monitoring✅——basic✅
Whop pixel install❌—✅✅✅
Photo → full lander❌——✅✅
Templates pre-wired❌—6 free+paid+paid
Ad creative (3D studio)❌——✅✅
Draft/launch Whop Ads❌——draftone-click
Spend caps, A/B variants❌———✅

Our columns are the planned plugin tiers, not shipped features. Unverified on their side: cart, variants, and CMS sync.

Risks#

  • Orix is fast and Whop-friendly, so it could add pixel or ads support within weeks (likelihood: medium, estimate 📊).
  • Whop could ship its own Framer ads integration.
  • The Ads API for third-party sellers is unproven, which is what our spike tests.

Recommendation#

  1. Build checkout ourselves on @whop/framer. Kit owns it, about 2–3 days (estimate). We own the full stack and don't depend on a third party.
  2. Light co-marketing with Orix: mutual listing mentions, interop (our templates work with their components), and an affiliate cut on our All-Access pass.
  3. Acquisition only if it gets traction. It's young, so it's possibly cheap, but there's little defensible tech. Revisit in 60–90 days if their plugin shows real traction. 🧠

Sources#

Maker Merchant · Field guide

Framer Template Development Guide

Framer Template Guidelines — Designing, Building & Selling World-Class Framer Templates. The working instruction file for designing, building, listing, and growing Framer templates, written for humans and AI agents.

  • Last verified Oct 17, 2026
  • 31 sections
  • — checklist items
  • 22 illustrated examples
  • By Maker Merchant

Owner: Maker Merchant · Audience: Maker + AI design/dev agents · Use as: the working instruction file for every Framer template project Last verified: October 17, 2026 (Framer 3.0 era, after the June 16, 2026 Community/Marketplace relaunch) Status legend: ✅ = verified on an official Framer page · 📊 = third-party data or creator report · 🧠 = recommended practice / informed opinion · ⚠️ = could not verify, check before relying on it

About this edition (added Oct 17, 2026): Everything in the original guide is kept word for word. Sections marked 🔎 Deep dive are additions: extra specs, do/don't tables, code, and naming examples. Facts in them were checked against official Framer docs on Oct 17, 2026 (marked ✅), and anything else keeps the same legend (🧠 / ⚠️). All UI pictures are AI-generated illustrative examples made with Magnific. They are not real templates, not Framer screenshots, and any brand names in them (e.g., "Northwind") are fictional.


TL;DR — The 12 Rules#

  1. There is no manual review anymore. Templates go live right away. Moderation and ranking decide who gets seen. Quality is now your job, not a reviewer's. ✅
  2. Pick a niche buyer, not a generic layout. Generic landing pages lose to free templates and AI. Specific, polished, CMS-backed systems sell. ✅📊
  3. Price with confidence. Median paid price is about $59. The most common price is $49. Premium agency/portfolio/SaaS/e-commerce templates sit at $99–$149. 📊
  4. You keep 100% of sales, but you run checkout. Framer only links to your checkout page (Lemon Squeezy, Gumroad, Stripe, Contra…). Delivery, refunds, taxes, and support are yours. ✅
  5. A live preview is required. It must be published from the same project you're selling. ✅
  6. Build on a strict design system. Shared color and text styles everywhere, components with exposed properties, CMS for repeated content, layout templates for nav and footer. ✅
  7. Responsive means fluid, not three snapshots. Drag-resize between breakpoints. No horizontal scroll, no fixed widths that break layouts. ✅
  8. Make it AI-ready. Add Agent instructions and a template Skill (skills stay with the project when it's remixed). Use clean names, consistent styles, and organized CMS. ✅
  9. Everything must be legally yours to distribute. That covers fonts, images, icons, client work, and code. You warrant this in the Community Terms. ✅
  10. Ship a 404 page, page titles and descriptions, alt text, semantic tags, mailto:/tel: links, and no lorem ipsum. ✅
  11. Motion should be purposeful and cheap. Use Appear effects above the fold, keep blur under 10, and respect reduced motion. ✅
  12. Treat it like a product. Launch post, distribution outside Framer, fast support, regular updates, a catalog, and bundles. ✅📊

Table of Contents#

  1. How to Use This File
  2. The 2026 Landscape: What Changed
  3. Strategy & Niche Selection
  4. What Sells & Pricing Tiers
  5. Marketplace Requirements (Official)
  6. Legal, Licensing & Asset Rights
  7. Project Setup, Structure & Layer Naming
  8. Design System: Colors, Type, Spacing, Grid, Breakpoints
  9. Layout: Stacks, Grid, Sizing & Responsive Rules
  10. Typography
  11. Components, Variants & Properties
  12. Imagery & Placeholder Content
  13. CMS Collections & Dynamic Pages
  14. Animations & Effects
  15. Code Components & Overrides
  16. Forms & Integrations
  17. Localization
  18. SEO & AEO
  19. Performance
  20. Accessibility
  21. Utility Pages: 404, Legal, Instructions, Style Guide
  22. Customization-Friendliness & AI-Readiness
  23. Preview Site & Marketplace Listing
  24. Checkout, Delivery, Refunds & Support Ops
  25. QA Checklist
  26. Launch & Post-Launch
  27. MASTER Pre-Submission Checklist
  28. Quick-Start Workflow
  29. Operating Rules for AI Agents
  30. Unverified / Uncertain Claims
  31. Sources

0. How to Use This File#

For Maker (human):

  • Skim the TL;DR, then jump to the section for the phase you're in.
  • Every phase ends in a checklist. Copy it into the project's Trello card or Craft doc and tick items off.
  • Sections 26 (Master Checklist) and 27 (Quick-Start Workflow) are the only parts you need on ship day.

For AI agents:

  • Treat MUST as non-negotiable, SHOULD as the default unless Maker says otherwise, and MAY as optional.
  • Never invent Framer UI paths. If a panel or menu name isn't in this file, check the Framer Help Center first or say you're unsure.
  • Read Section 28 before doing any work inside a Framer project.

Phase map:

Phase Sections Output
1. Decide 1, 2, 3 Niche brief + price point
2. Set up 4, 5, 6, 7 Clean project, design system, legal asset list
3. Build 8–16 Pages, components, CMS, motion, forms
4. Harden 17–21 SEO, perf, a11y, utility pages, AI-readiness
5. Ship 22–24, 26 Preview, listing, checkout, QA pass
6. Grow 25 Launch, support, updates, bundles

1. The 2026 Landscape: What Changed#

1.1 Framer 3.0 + the new Community (June 16, 2026) ✅#

  • Framer 3.0 launched with Agents (AI working directly on the canvas), Branching, and a new Community. The Community includes the Marketplace, Gallery, Awards, Social Feed, Members, and Contests.
  • Marketplace review is gone. In Framer's words: "resources will no longer go through a review process before they can be published." Moderation replaces reviewing. The team now curates what gets featured, improves ranking signals, and can act on items that are "low quality, broken, misleading, copied, or not useful."
  • Framer says the bar is going up, not down: "'Good enough to get accepted' will matter less. 'Good enough that people actually want it' will matter more."
  • Scale: more than 7,000 creators sell on the Marketplace. Framer paid creators $6.5M in 2025 (+200% YoY) and takes no revenue share.

1.2 Publishing is instant ✅#

  • Submit through Community → Marketplace → Create Listing → Template. The listing goes live right away, with no queue.
  • You can edit the name, description, images, pricing, and other details at any time.
  • You may also sell the same template on other platforms and your own site.

1.3 Ranking replaced reviewing ✅#

  • Ranking signals: Discovery (views, unique visitors), Usage (remixes/opens/installs, unique users), Conversion (% of remixed templates that upgrade to a paid Framer plan), and Continued use.
  • Ranking views: Trending (momentum), Best (sustained performance over the chosen period), Recent (new items, where early performance still counts).
  • Free and paid are ranked together. Switching a template from free to paid resets its ranking.
  • Fake accounts or fake activity can get you banned from the Marketplace.
  • Marketplace Analytics launched September 25, 2026: a Performance tab plus Rankings.

1.4 AI changes what a template is ✅#

  • Framer's position: AI makes strong templates more valuable, because the Agent needs a clear design system to build on. "Low-effort templates will be less competitive."
  • Template creators can add custom Agent instructions. Skills launched September 22, 2026, and they stay with a project when it's remixed. That means you can ship a focused template plus a skill that teaches the Agent how to extend it, instead of piling in dummy content.

1.5 The old guidance you'll still find online ⚠️#

  • Many blog posts, including some updated in September 2026, still describe a manual review queue with rejection feedback. That process is outdated as of June 16, 2026.
  • The old rejection reasons are still a useful quality bar (see 4.4), because the same problems now hurt you in ranking, refunds, and moderation.

2. Strategy & Niche Selection#

2.1 The core principle#

Framer's guidance says the two biggest levers are (1) product quality and (2) distribution, in that order. Don't optimize for the feed algorithm. ✅

2.2 Where the market is 📊#

  • Supply is huge. One tracker counted 2,689 new templates in eight weeks (July 29 to September 22, 2026), about 48 per day. Another snapshot counted 10,000+ templates in total. The portfolio category alone has about 3,100.
  • 55% of new templates are free. Landing pages are free 74% of the time.
  • Category mix of new templates (keyword-sorted, rough): about 36% portfolio/creative and about 23% SaaS/tech.
  • Premium pricing clusters in commerce and SaaS. Among paid templates, 38% of e-commerce and 36% of SaaS templates cost $99+, compared with about 10–11% for restaurant and health/fitness.
  • Proven winners are catalogs, not one-offs. The strongest public revenue stories (Anatolii Dmitrienko, Hamza Ehsan, Cédric) come from multi-template catalogs, bundles, and referral income.

2.3 Niche selection framework 🧠#

Score each idea from 1 to 5 on every row. Build only ideas that score ≥ 26/35.

Criterion Question Notes
Buyer pain cost Would this buyer otherwise pay a designer $2k+? Agencies, studios, SaaS, and pro services score high
Specificity Can you name the buyer in 3 words? ("boutique architecture studio") Vague = AI-replaceable
Competition gap Search the Marketplace category. Fewer than ~30 strong direct competitors, or all of them dated? Sort by Best and Recent
Content depth Does it need CMS (projects, posts, listings, team, jobs)? CMS depth justifies price
Visual identity Can it have a recognizable art direction? Differentiation is a requirement under Originality ✅
Maker fit Do you understand this buyer (apps, design, dev tools)? Faster copy, better demos
Catalog fit Does it extend your existing line or a future bundle? Compounding

2.4 Niche ideas that fit Maker's profile 🧠#

  • App / indie-app launch sites: app store badges, feature tours, changelog CMS, press kit, privacy/terms pages (a must for App Store listings).
  • Dev-tool / API SaaS: docs-style CMS, pricing toggles, changelog, integrations directory with Dynamic Filters.
  • Designer/developer portfolio + products: case studies CMS plus digital product storefront links.
  • AI product / agent startup: demo video hero, use-case CMS, waitlist with Input integrations.
  • Template-studio / creator store: a site for selling digital products (meta-niche you already know).

2.5 Free vs. paid strategy ✅📊#

Model How it earns Best for
Paid 100% of sale price via your checkout Deep, niche, premium systems
Free Referral commission when remixers upgrade to a paid Framer plan. The creators page says up to 50% for 12 months Reach, audience building, top-of-funnel for paid catalog
Hybrid 🧠 Free "lite" + paid "pro" version Build trust and capture emails
  • Template purchases take priority over sign-up referrals for commission attribution. ✅
  • Only templates earn referral commissions. Components, plugins, and vectors don't. ✅
  • Paid ads using affiliate links are not allowed. ✅
  • ⚠️ Going free → paid resets ranking. Decide before launch.

2.6 Strategy checklist#


3. What Sells & Pricing Tiers#

3.1 Patterns in best-sellers 📊🧠#

From public teardowns (Fabrica, Dmitrienko's $129 line, Ehsan's catalog) and the Framer guidance:

  • A recognizable visual identity. Buyers pay for taste they can't easily generate.
  • CMS depth. Projects, blog, team, services, and careers ship as collections, not static duplicates.
  • Finished pages. Home, About, Services/Features, Work/Projects + detail, Blog + detail, Pricing, Contact, 404, Legal. A full site saves real work.
  • Reusable components with properties, so editing feels safe.
  • Ongoing updates. Top sellers keep adding native features: CMS filtering, performance fixes, Agent prompt guides.
  • Agent guidance. Leading creators now ship prompt libraries and Agent instructions (e.g., Trifecta, Effica).
  • Premium positioning. A studio comparing a $129 template with a $5k custom build sees it as cheap.

3.2 Price data 📊#

Metric (new templates, July 29 to September 22, 2026) Value
Median paid price $59
Middle 50% $39–$89
Most common price $49
Prices ending in 9 87%
Paid templates ≥ $100 11%
Tier What's included Price
Starter 1–3 pages, landing/waitlist, light CMS Free or $19–$39
Standard 5–8 pages, 1–2 CMS collections, portfolio/business $49–$79
Premium 8–15+ pages, 3+ CMS collections, strong art direction, Agent skill $99–$149
Specialist Niche vertical with complex flows (directories, e-commerce, multi-locale) $149–$299
Bundle / All-access Entire catalog + future templates 2.5–4× a single premium price

Sales needed for $10k/month gross: about 345 sales at $29, 205 at $49, 102 at $99, 78 at $129, 68 at $149. 📊

3.4 Pricing rules 🧠#

  • Look at similar templates before setting a price (Framer recommends this ✅).
  • Don't launch cheap and raise later "once it has reviews." Your price signals your quality tier.
  • Price in USD and end it in 9 to match marketplace norms.
  • The listing price MUST match the checkout price exactly ✅.
  • Launch discounts belong on your checkout platform, as a coupon with a clear end date. Remember the listing price has to match checkout. ⚠️ Confirm how Framer treats a discounted checkout price.
  • Note: under the Community Terms, Framer may run promotions on your content without prior notice ✅.

3.5 Buyer plan constraints (affects what you can sell) ✅#

Buyers have to publish on their own Framer plan. Disclose any requirements that exceed Basic:

Plan (yearly, per month) Pages CMS collections CMS items Notes
Free (1,000 for building) 10 (build/try) — Free Framer domain only, 1 GB bandwidth
Basic $10 30 2 1,000 Custom domain, localization add-on
Pro $30 150 (expandable) 10 (expandable to 40) 2,500 (expandable) Redirects, staging, Branching

🧠 Rule: If your template uses more than 2 CMS collections or more than 30 pages, say clearly in the listing and instructions that the buyer needs Pro to publish everything. Better yet, design it so the core site works on Basic (≤ 2 collections) and the extra collections are optional.


4. Marketplace Requirements (Official)#

4.1 Hard requirements (listing won't work or breaks the rules without them) ✅#

Requirement Source
Name, byline, description How to publish a template
Images, categories, styles, features How to publish a template
Live preview URL from a published project on a free Framer domain, from the same project you're selling Adding a live preview
Remix URL How to publish a template
Payment settings / checkout URL (paid only) Accept payments
Checkout page: goes straight to payment, shows product + price, price matches listing, public with no login, includes a refund/cancellation policy Accept payments
A valid support email, with support given "within a reasonable timeframe" Community Terms §4.1
You own or have licensed every asset, with no third-party IP infringement and no malware Community Terms §9.1
No unlockable features or functionality requiring payments through channels not disclosed to and approved by Framer Community Terms §2.7
A privacy statement if your content collects or processes personal data Community Terms §4.4
No fake activity or extra accounts Analytics & rankings

4.2 Official best-practice checklist (Sept 15, 2026) ✅#

Framer calls these "not required" but says they improve discoverability and cut support load. Treat them as MUST anyway.

  • Originality: clear audience/use case; original, differentiated layouts; no reused or lightly modified templates; value beyond native Framer features.
  • Design: consistent styling; clear hierarchy; cohesive color/type/spacing; shared text and color styles throughout; custom 404 page; polished assets.
  • Layout: clear page purpose; layout templates where appropriate; Stacks, grids, and auto-height; no horizontal scrolling; layouts hold up as content changes.
  • Text: legible; spelling and grammar checked; Framer fonts where appropriate; balanced text with no orphans; no lorem ipsum or placeholder content.
  • Responsive: clean on mobile/tablet/desktop; no fixed sizes that break; components adapt; readable on small screens.
  • Links: mailto: and tel:; clickable things look clickable; hover and active states; no broken or inactive links.
  • CMS: repeated content in CMS; fields clearly connected; empty and unused entries removed; clear naming.
  • Code: clean, minimal; native features first; embeds only when necessary; maintained and compatible.
  • Effects: purposeful; nothing excessive; performance-aware; smooth.
  • Assets: clearly named folders; external components up to date; no duplicates; descriptive file names.
  • Tags: semantic tags; logical headings and paragraphs; meaningful alt text.
  • Accessibility: title + description per page; good contrast; standard practices; labeled form fields.
  • Performance: Framer's performance checks reviewed; optimized media; no huge uncompressed assets; effects don't hurt performance.
  • Copyright: original or licensed; permission for any client work; licensing respected.
  • Community (listing): accurate previews; relevant categories; clear value; unique features; setup requirements and limitations communicated.
  • Support: support options explained; timely replies; refund terms clear; templates maintained; ads and unrelated promotions removed.

🔎 Deep dive — what "quality bar" looks like in a hero 🧠

Side-by-side comparison: a cluttered hero with lorem ipsum, mixed fonts and a discount sticker versus a calm architecture-studio hero with one headline, one primary button and a full-bleed timber house photo
AI illustrationFigure: Hero quality bar, DON'T vs DO — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.
Area ❌ Don't ✅ Do
Copy Lorem ipsum, "Welcome to our website" One niche-specific promise in ≤ 8 words + one supporting line
Type 3–5 families, script fonts on body copy 1–2 families from the text-style scale (7.3)
CTAs Three competing button styles One Button/Primary + one secondary/text link
Imagery Busy stock photo with text on top, low contrast One art-directed image; text sits on a clean surface (contrast ≥ 4.5:1)
Promo "20% OFF" stickers or "Buy this template" banners in the template No ads/promos inside the template ✅ (4.2 Support)
Spacing Eyeballed gaps Spacing scale only (7.4)

4.3 Before-you-publish list from Framer ✅#

  • Test across browsers and screen sizes.
  • Fix bugs, broken links, and performance issues.
  • Follow web best practices for layout, typography, spacing, and responsiveness.
  • Prepare high-quality screenshots.
  • Review name, byline, description, categories, and pricing.

4.4 Historical rejection reasons (now ranking and refund killers) 📊#

From pre-June-2026 creator reports. There's no review now, but these are exactly what moderation, buyers, and ranking punish:

  1. Broken links, or forms that don't submit
  2. Mobile layouts that overflow or become unusable
  3. Inconsistent styling, weak typography, poor hierarchy
  4. Too similar to existing templates (originality)
  5. Unclear component structure, unnamed layers ("Frame 12")
  6. Slow loading, unoptimized assets
  7. Lorem ipsum or placeholder content
  8. Unused assets/styles, leftover experiments
  9. Accessibility gaps (no alt text, low contrast)
  10. Previews that don't match the actual product

4.5 Naming rules 🧠 (+ ✅ where noted)#

  • Template name: short, brandable, unique within the Marketplace. Search it first. Avoid trademarks such as "Apple" or "Notion."
  • Byline/title for search: say what it is. Framer's example: "SaaS Landing Page Template" beats a generic project name. Include terms buyers search for ✅.
  • Pattern: [Brand Name] — [Niche] [Type] Template, e.g., "Northwind — Architecture Studio Template."
  • Avoid vague names like "Nova," "Pixel," or "Minimal" on their own ✅ ("Avoid vague or generic names").

4.6 Updates & versioning ✅ + 🧠#

  • You can edit listing details and the template project at any time ✅.
  • The live preview reflects your latest publish ✅. Republish the preview project after every update.
  • A remix creates an exact copy at the moment it's copied ✅. 🧠 So existing buyers don't get your updates automatically. They'd need to re-remix from your link and move their content over.
  • 🧠 Versioning conventions:
    • Keep a Changelog section on the Instructions page and the listing: v1.2.0 — 2026-11-03 — Added Dynamic Filters to Work page.
    • Use semantic versioning: MAJOR (structure changes), MINOR (new pages/features), PATCH (fixes).
    • Keep a master project (source of truth). Use Branching (Pro) to stage updates before merging ✅ (Branching exists; using it for templates is a recommendation).
    • Email buyers about MINOR/MAJOR updates with the remix link and "what changed."

4.7 Requirements checklist#


5.1 What the Community Terms say (v1.0, effective June 1, 2026) ✅#

  • You keep ownership of your Creator Content.
  • You grant Framer a worldwide, non-exclusive, royalty-free license to host, display, distribute, and promote your content. Framer may also use and adapt it to market Framer and for educational purposes, without extra compensation.
  • Framer may build competing products (§2.5).
  • You warrant you own or have licensed everything and nothing infringes third-party IP or publicity/privacy rights (§9.1).
  • You indemnify Framer against claims arising from your content, buyer disputes, and taxes (§10).
  • Support is your responsibility, with a valid support email and timely responses (§4.1).
  • Buyer disputes (refunds, chargebacks, licensing) are between you and the buyer (§4.3, §6.3).
  • Taxes: you handle them yourself (§6.2). Framer doesn't withhold.
  • Report license misuse to abuse@framer.com (§5.5).
  • Governing law: the Netherlands (Amsterdam courts).

5.2 Licenses buyers receive automatically ✅#

Free content — Limited Commercial License Paid content — Single-Use Commercial License
Commercial use ✅ ✅
Client work ✅ if incorporated into a broader end product ✅ within one Permitted Project
Number of projects Own projects One (1) end product/project
Resell / redistribute / standalone ❌ ❌
Create competing templates/assets ❌ ❌
Repost on competing marketplaces ❌ ❌

🧠 Restate these in plain words on your Instructions page and checkout page ("One license = one website. Need more? Buy another license or the bundle.").

5.3 Asset licensing matrix 🧠 (verify each source's license)#

Asset Safe Risky / avoid
Fonts Google Fonts (via Framer's Google tab), Fontshare fonts (Framer's Fontshare tab), Inter/Inter Display ✅ (all built into Framer) Uploading paid or commercial fonts into a template you redistribute. Buyers would get the font file without a license. If you must use one, use a free fallback and tell buyers how to license and swap
Photos Your own photography; licensed stock whose terms allow use in redistributed templates; AI images where the tool's terms grant commercial rights Editorial-only stock; photos of recognizable people without model releases; client photos without written permission ✅ (Framer requires permission for client work)
AI images Generic scenes, objects, abstract art; keep a record of the tool and its terms Lookalikes of real people, brands, logos, copyrighted characters
Icons Framer's built-in icon sets (e.g., Phosphor, Material, Feather, available in Framer), MIT/ISC/OFL icon libraries, your own SVGs Icon packs with "no redistribution" clauses
Logos (social proof strips) Fictional logos you designed Real company logos (implies endorsement, trademark risk)
Video Your own footage, properly licensed stock, AI video with commercial rights Music tracks without sync rights
3D / Spline / Lottie Your own, or CC0/licensed with redistribution rights Marketplace assets limited to "end product" use
Code Your own; MIT/Apache with notices kept GPL code inside components (license contagion), copied paid components
Third-party Framer components Your own, or free components whose license allows inclusion Paid Marketplace components (buyers didn't license them). Under the paid license, buyers may not redistribute them, and you can't either

⚠️ Unsplash/Pexels-style licenses generally allow commercial use but restrict compiling photos into competing services. Many top creators use their own or AI imagery to avoid ambiguity. Read the current terms yourself.


6. Project Setup, Structure & Layer Naming#

6.1 Project setup order 🧠#

  1. Create a fresh project for each template. Never sell a fork of a client project without written permission ✅.
  2. Set Site Settings first: site title and description, favicon, social image, language, and reduced-motion setting (see 19).
  3. Create color styles → text styles → spacing conventions before designing any page (Section 7).
  4. Create the layout template (nav + footer + content slot) from the Home page so it applies to all compatible pages ✅.
  5. Build components (buttons, cards, nav, footer, section headers) before full pages.
  6. Set up CMS collections before the pages that list them.
  7. Build pages desktop-first, then tablet/phone overrides (see 7.6).

6.2 Page structure (typical premium template) 🧠#

text
/ (Home)
/about
/services            or /features
/work                (CMS index)   → /work/:slug   (CMS detail)
/blog                (CMS index)   → /blog/:slug   (CMS detail)
/pricing
/contact
/careers             (optional CMS)
/legal/privacy
/legal/terms
/404                 (custom)
/instructions        (buyer guide, noindex)
/style-guide         (optional design-system showcase, noindex)
/changelog           (optional, or a section of /instructions)
  • Use lowercase, hyphenated slugs. Keep them short and meaningful.
  • Keep page names in the Pages panel identical to their nav labels.
  • Group utility pages in a folder (e.g., Legal, Utility) if the Pages panel supports it in your version ⚠️.

6.3 Layer naming convention (MUST) 🧠✅#

Framer's guidance: assets in clearly named folders, descriptive file names, no duplicates ✅. The Tidy up skill in Framer's Skills Index can auto-name layers and remove hidden or unused leftovers ✅.

Element Convention Example
Section Section / [Purpose] Section / Hero, Section / Testimonials
Container (max-width wrapper) Container Container
Stack [Purpose] Stack Heading Stack, CTA Stack
Grid [Purpose] Grid Features Grid
Text Its role Heading, Subheading, Body, Eyebrow, Label
Image Image / [Subject] Image / Team Photo
Component (master) [Category]/[Name] Button/Primary, Card/Project, Nav/Main
Variant State or size, Title Case Default, Hover, Pressed, Mobile, Open
Component property Plain-English, buyer-facing Label, Link, Show Icon, Image

Rules:

  • Zero default names (Frame 23, Text, Rectangle) in the shipped project.
  • Delete hidden layers that serve no purpose. Hidden-for-breakpoint layers are fine but should be named, e.g., Nav Desktop / Nav Mobile.
  • Delete unused components, styles, images, code files, and pages.
  • Order layers top-to-bottom in the same order they render.

🔎 Deep dive — a fully named layer tree 🧠

Two layers panels: the left full of default names like Frame 23 and Rectangle 7, the right a clean tree with Section / Hero, Container, Heading Stack, Eyebrow, Heading, CTA Stack and Button/Primary
AI illustrationFigure: Layers panel before and after naming — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

A complete Home page tree that follows 6.3:

text
Home (page, vertical Stack, layout template: Main)
├─ Section / Hero
│  └─ Container
│     ├─ Heading Stack
│     │  ├─ Eyebrow
│     │  ├─ Heading            (text style: Display, tag h1)
│     │  └─ Subheading         (text style: Body L)
│     ├─ CTA Stack
│     │  ├─ Button/Primary     (instance)
│     │  └─ Button/Ghost       (instance)
│     └─ Image / Studio Exterior
├─ Section / Logos
│  └─ Container → Logos Grid → Logo Item (×6)
├─ Section / Featured Work
│  └─ Container
│     ├─ Section Header        (instance)
│     └─ Projects Grid         (CMS Collection List: Projects, limit 3)
│        └─ Card/Project       (instance, bound to CMS)
├─ Section / Testimonials
├─ Section / CTA               (instance: Section/CTA Banner)
└─ (Footer comes from the layout template)

Naming do/don't:

❌ Don't ✅ Do Why
Frame 23, Frame 23 copy Section / Pricing, Pricing Grid Buyers and the Agent can find things
btn-new-FINAL Button/Primary Groups into the Button folder
Text ×40 Heading, Body, Label Role is obvious in the tree
img Image / Founder Portrait Says what to replace
Nav + hidden Nav 2 Nav Desktop / Nav Mobile Breakpoint-hidden layers stay readable
Variant Variant 3 Mobile Open Variants read as states

6.4 Assets panel organization ✅🧠#

  • Component folders: Navigation, Buttons, Cards, Sections, Forms, Utility.
  • Color styles grouped with / (see 7.2). Text styles grouped (see 7.3).
  • Remove duplicates. Update any external (Marketplace) components to their latest version ✅.

6.5 Setup checklist#


7. Design System: Colors, Type, Spacing, Grid, Breakpoints#

Goal: a buyer can rebrand the whole site by editing ~5 color styles and 2 font families. Framer's best practices require "shared text and color styles used throughout." ✅

7.1 Principles 🧠#

  • Nothing hard-coded. Every fill, text color, and border uses a color style. Every text layer uses a text style.
  • Semantic names, not visual ones. Brand/Primary survives a rebrand. Blue 500 doesn't.
  • Small token set. Fewer styles mean easier customization and better Agent results.

7.2 Color styles 🧠 (+ ✅ light/dark)#

Recommended semantic set (~12–16 styles):

Style name Use
Brand/Primary Main accent, primary buttons, links
Brand/Primary Hover Hover state of primary (or use opacity)
Brand/On Primary Text/icons on primary fills
Surface/Background Page background
Surface/Raised Cards, panels
Surface/Inverse Dark/inverse sections
Text/Primary Headings, primary text
Text/Secondary Body, muted text
Text/Tertiary Captions, meta
Text/Inverse Text on inverse surfaces
Border/Default Dividers, card borders
Border/Strong Inputs, focused borders
State/Success, State/Error Form feedback
  • Light/dark mode ✅: Color styles can hold a light and a dark value. The published site follows the visitor's device appearance. Text styles can use themed color styles. Works on CMS pages and in animations. Preview both on the canvas (⌃⌘N toggles canvas theme). Remove a dark value through Assets → ••• → Remove Dark Style.
  • 🧠 If you ship dark mode, test contrast in both modes. If you don't, make sure no color style has a stray dark value.
  • 🧠 Contrast targets: body text ≥ 4.5:1, large text (≥ 24px, or ≥ 18.66px bold) ≥ 3:1, UI boundaries/focus ≥ 3:1 (WCAG 2.2 AA).

🔎 Deep dive — light/dark color styles in practice

The same pricing card shown in light and dark mode with matching token rows such as Surface/Background, Text/Primary and Brand/Primary holding different values per mode
AI illustrationFigure: One set of semantic color styles, two appearances — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

🧠 Example token sheet (values are just a starting point; the names are what matter):

Style Light Dark Check
Surface/Background #FAF8F5 #121212 —
Surface/Raised #FFFFFF #1C1C1E Visible edge vs. background (add Border/Default if not)
Text/Primary #141414 #F4F2EE ≥ 4.5:1 on both surfaces
Text/Secondary #57534E #A8A29E ≥ 4.5:1 on Background and Raised
Brand/Primary #1F3A2E #9FD3B5 Brand/On Primary text ≥ 4.5:1 on it
Border/Default #E7E2DA #2C2C2E Decorative only
Border/Strong #A8A29E #6B6B70 ≥ 3:1 for inputs/focus (UI boundary)

Workflow 🧠: define the light value, add the dark value on the same style, then toggle the canvas theme (⌃⌘N ✅) and walk every page once. Any element that looks wrong in dark mode is almost always a hard-coded color.

7.3 Text styles 🧠 (+ ✅ semantic tags)#

Text styles automatically get semantic tags (h1–h6, p), which you can override per instance in the Accessibility panel ✅.

Recommended scale. Framer's own Skills example uses H0–H6, Body L, Body, Body M, Button ✅:

Style Tag Desktop Tablet Phone Line height Use
Display (H0) h1 80–112 64–80 44–56 1.0–1.05 Hero only
H1 h1 56–64 48 36–40 1.05–1.1 Page titles
H2 h2 40–48 36 28–32 1.1–1.15 Section titles
H3 h3 28–32 26 22–24 1.2 Card/sub-section titles
H4 h4 22–24 20 20 1.25 Small headings
H5/H6 h5/h6 18/16 18/16 16/15 1.3 Rare
Body L p 20 18 18 1.5 Lead/intro
Body p 16–18 16–17 16 1.55–1.65 Main copy
Body S / Body M p 14 14 14 1.5 Meta, captions
Label/Eyebrow p 12–14, uppercase optional, +tracking same same 1.2 Tags, eyebrows
Button p 15–16, medium/semibold same same 1 Buttons only
  • 🧠 Set per-breakpoint sizes inside the text style so tablet/phone sizes come from the system, not from manual overrides on each layer ⚠️ (check that the current Framer UI supports breakpoint values in your text style. If it doesn't, override consistently and document it).
  • Turn on text balance for headings, and check for orphans ✅ ("balanced to avoid awkward line breaks and orphans"). Framer's skill example sets "Text Balance to Yes" ✅.
  • Line length: 50–75 characters, target ~65 (Framer's Skills example) ✅.

🔎 Deep dive — text-style breakpoints (verified)

✅ Update (Oct 17, 2026): Framer's Help Center article Setting Text Styles breakpoints (updated March 3, 2026) confirms text styles can hold breakpoint values: Assets → Styles → select a text style → Breakpoints → Add Breakpoints adds Desktop (L), Tablet (M), Mobile (S), and each can set font size, line height, letter spacing, and paragraph spacing. So the 🧠 rule above ("set per-breakpoint sizes inside the text style") is supported. The original ⚠️ note is kept for history; see also the update under 29.

Typography specification board showing Display, H1, H2, H3, Body and Label sizes in Desktop, Tablet and Phone columns
AI illustrationFigure: One text-style scale with L / M / S breakpoint values — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

🧠 A concrete scale you can paste into a brief (px; line height as a multiplier):

Style L (Desktop) M (Tablet) S (Phone) Line height Letter spacing
Display 96 72 48 1.0 −0.03em
H1 60 48 38 1.05 −0.02em
H2 44 36 30 1.1 −0.02em
H3 30 26 22 1.2 −0.01em
H4 22 20 20 1.25 0
Body L 20 18 18 1.5 0
Body 17 17 16 1.6 0
Body S 14 14 14 1.5 0
Label 13 13 12 1.2 +0.06em, uppercase
Button 15 15 15 1.0 0

Rule of thumb: each heading level is ~1.25–1.35× the next one on desktop and ~1.2× on phone, so the hierarchy holds without the phone headings getting huge.

7.4 Spacing scale 🧠#

Use one scale and nothing else: 4 · 8 · 12 · 16 · 24 · 32 · 40 · 48 · 64 · 80 · 96 · 120 · 160

Token Desktop Tablet Phone Use
Section padding (Y) 120–160 96 64–80 Vertical rhythm between sections
Section padding (X) 40–64 32 16–20 Page gutters
Block gap 48–80 48 32–40 Between heading group and content
Card padding 24–40 24–32 20–24 Inside cards
Stack gap (text) 12–24 12–20 8–16 Heading → body → CTA
Grid gap 24–32 20–24 16 Card grids
  • ⚠️ Framer doesn't have dedicated spacing tokens the way it has color/text styles (as of this writing, unverified). Enforce the scale through components (section and container components with fixed padding/gap) and by writing it into the template Skill (Section 21).

7.5 Grid & containers 🧠✅#

  • Section pattern (from Framer's Skills example ✅): sections fill screen width (1fr) and contain an inner wrapper with max-width: 1200px holding the content.
  • Container widths: 1200 (default), 1360–1440 (wide/editorial), 720–800 (reading/blog body).
  • Columns: 12-column mental model on desktop, 8 on tablet, 4 on phone. Build real layouts with Stacks and Grid (Section 8).

🔎 Deep dive — section anatomy with real numbers

Annotated diagram of a section: full-width band, centered 1200px container, heading stack and three-column features grid with redlines for 120 vertical padding, 40 gutters, 64 block gap and 24 grid gap
AI illustrationFigure: Section / Container anatomy with spacing redlines — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.
Layer Layout Width Height Padding / Gap (Desktop → Tablet → Phone)
Section / Features Stack, vertical, center Fill (1fr) Fit Padding 120/40 → 96/32 → 64/20
Container Stack, vertical Fill, max 1200 Fit Gap 64 → 48 → 40
Heading Stack Stack, vertical Fill, max 720 Fit Gap 16 → 16 → 12
Features Grid Grid, 3 cols → 2 → 1 Fill Fit Gap 24 → 20 → 16
Card/Feature Stack, vertical Fill (1fr) Fit (or Fill to equalize) Padding 32 → 28 → 24, gap 12

7.6 Breakpoints ✅⚠️#

  • Framer's default breakpoints are Desktop 1200, Tablet 810, Phone 390 ⚠️ (widely documented in Framer Community/lessons. Confirm in your project). The breakpoint value is the minimum width for that breakpoint. Desktop is primary, and smaller breakpoints inherit from it with overrides.
  • 🧠 Add a Large Desktop (1440+) breakpoint only if the design really changes there (e.g., wider container). Otherwise rely on max-width containers.
  • 🧠 Design desktop first, then tablet, then phone. Override as little as possible. Every override is something buyers have to edit three times.
  • ✅ Framer Academy: preview at wide, medium, and narrow widths, then drag-resize between those points. Flexible sizing problems often show up between breakpoints.
  • Layout templates support breakpoints, e.g., swapping desktop nav for a hamburger on mobile ✅.

🔎 Deep dive — breakpoint planning table

✅ Verified Oct 17, 2026: Framer's Help article Using pages says Framer "uses a desktop-first workflow, with a default desktop width of 1200 pixels." Framer Academy's breakpoints lesson says the width shown is "the minimum viewport width at which that breakpoint becomes active," that new breakpoints inherit from the primary one, and that you should add a breakpoint "when the layout starts to fail, rather than adding one by habit." Tablet 810 / Phone 390 are the presets Framer suggests (stated by Framer staff on the Framer Community forum), so the ⚠️ above is now low-risk, but still check a new project.

Breakpoint Active from Typical container Grid columns Nav What usually changes
Desktop (primary) 1200px 1200 max 3–4 Full links + CTA — (source of truth)
Tablet 810px Fill, 32 gutters 2 Fewer links or hamburger Grid columns, section padding, some Stack directions
Phone 390px (renders down to 0) Fill, 16–20 gutters 1 Hamburger (Mobile Closed/Open) Stack direction, type (via text-style S), hide decorative art
Large (optional) 1440px+ 1360–1440 4 Same as Desktop Only if the composition really changes
The same studio home page on desktop at 1200, tablet at 810 and phone at 390 with three, two and one column project grids
AI illustrationFigure: Responsive trio at Framer's default breakpoint widths — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

7.7 Variables 🧠✅#

  • Component variables/properties expose text, images, links, toggles, and variants to buyers (Section 10).
  • Layout template variables let each page configure the shared layout, e.g., hide a sidebar or switch nav style ✅.
  • Page variables are created automatically by CMS Dynamic Filters, and you can reset them for a "Clear filters" button ✅.

7.8 Design-system checklist#


8. Layout: Stacks, Grid, Sizing & Responsive Rules#

8.1 Official guidance ✅#

  • Use Stacks, grids, and auto-height layouts for flexibility.
  • Avoid horizontal scrolling issues. Layouts must stay organized as content changes.
  • Avoid fixed sizes that break responsiveness.
  • Layout templates require pages to use a vertical Stack layout ✅.

8.2 Sizing rules 🧠#

Situation Width Height
Section Fill (1fr) Fit content
Container Fill + max width (e.g., 1200) Fit content
Text Fill (or fixed max for line length) Fit content (auto-height)
Card in grid Fill (1fr) Fit content (or Fill to equalize rows)
Button Fit content Fit content
Image Fill, with aspect ratio locked Fixed ratio or Fill of a sized parent
Hero full-screen Fill min-height 100vh (not fixed 100vh) on desktop. Fit content on phone
  • Use min/max width to keep cards from getting too narrow or too wide.
  • Use fixed pixel widths only for icons, avatars, and decorative elements.
  • Never absolute-position content that should flow. Absolute positioning is only for decorative overlays and badges, pinned relative to a stack parent.
  • Text never gets a fixed height.

8.3 Stack vs. Grid 🧠#

  • Stack: one-direction flow (vertical sections, horizontal button rows, nav). Turn on wrap for chip/tag rows.
  • Grid: two-dimensional repeated items (features, projects, logos, pricing). Set columns per breakpoint: 3–4 → 2 → 1.
  • CMS Collection Lists in Grid mode for project/blog indexes.

8.4 Responsive rules 🧠#

  1. Every horizontal Stack has a phone plan: wrap, switch to vertical, or deliberately scroll horizontally (carousel, with visible affordance).
  2. Tap targets on phone ≥ 44×44 px.
  3. Body text never below 16px on phone.
  4. Hide/show per breakpoint only for navigation and truly different compositions. Prefer a single responsive layer.
  5. Check that the phone nav menu opens, closes, locks correctly, and that links close the menu.
  6. Test real long content: 2× longer headings, a 3-line button label in German, an empty CMS field.
  7. Check the overflow at 320px. Nothing may cause a horizontal scrollbar ✅.

🔎 Deep dive — the 320px overflow test

Two phones at 320px: one with content overflowing, clipped headline and squeezed buttons, the other with a single stacked column, wrapped headline and full-width 44px buttons
AI illustrationFigure: Phone overflow, DON'T vs DO — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

Common overflow causes and fixes 🧠:

Symptom at 320px Usual cause Fix
Horizontal scrollbar A child with a fixed width (e.g., 400px image or card) Width Fill + max width; lock aspect ratio
Clipped headline Long unbreakable word at Display size Smaller S value in the text style; text balance on
Squeezed button row Horizontal Stack with no phone plan Phone override: Stack direction vertical, buttons Fill
Section wider than screen Absolute-positioned decoration sticking out Parent overflow hidden, or hide the decoration on phone
Marquee pushes layout Ticker without clipping Parent overflow hidden

Width sweep 🧠: drag the canvas preview from 1920 → 320 slowly and stop at every point where something jumps. Each jump is either a missing breakpoint value or a fixed size.

8.5 Layout checklist#


9. Typography#

9.1 Font choices ✅#

  • Framer's font sources: Google Fonts, Fontshare, custom uploads, open-source fonts, and Inter/Inter Display (the default) ✅.
  • Prefer Google Fonts. They load faster thanks to automatic subsetting ✅.
  • Use weights Light (300) to Extra Bold (800). Text in those weights uses font-display: swap with size-adjusted fallbacks, so it isn't invisible while loading ✅. Thin (100) and Black (900), and non-serif/sans categories such as display/handwriting from Google/Fontshare, don't get swap under the Auto setting ✅.
  • Custom fonts are converted to WOFF2 (except uploads from before November 2023, which you should re-upload) ✅.
  • Font Loading setting: Site Settings → Performance → Font Loading (Auto default / Always / Never) ✅. Leave it on Auto.

9.2 Pairing rules 🧠#

  • Use at most 2 families: one display, one text. One family with weight contrast is often more premium.
  • Load at most 4 weights total across the site.
  • If the display font is decorative (no swap), use it only for big headings and keep body text in a swap-friendly sans/serif.
  • Licensing: only fonts that are free to redistribute (Section 5.3). Framer recommends "Framer fonts … where appropriate" ✅.

9.3 Copy & typesetting rules 🧠✅#

  • No lorem ipsum ✅. Write realistic, niche-specific copy (Section 11).
  • Sentence case for headings unless the brand calls for otherwise (Framer's skill example uses sentence case and avoids all caps).
  • Balanced headings, no orphans ✅. Body line length 50–75 characters ✅.
  • One h1 per page. Headings follow order (no h2 → h4 jumps) ✅ ("Headings … follow a logical structure").
  • Run a spelling and grammar pass before publishing ✅.

10. Components, Variants & Properties#

10.1 Why it matters#

Components with clear properties are the main difference between "pretty" and "easy to customize." That's what reduces support and earns repeat buyers. Framer lists reusable components as a core trait of AI-ready templates ✅.

10.2 What to componentize 🧠#

MUST: Nav (desktop + mobile variants), Footer, Buttons, Links/Text links, Cards (project, blog, feature, testimonial, pricing, team), Section header (eyebrow + title + subtitle), Badge/Tag, Form fields, FAQ/Accordion item, Logo strip item, CTA banner. SHOULD: Full sections as components when they repeat across pages (CTA, testimonials, newsletter). AVOID: Componentizing one-off hero art. It adds editing friction.

10.3 Variants & interactive states ✅🧠#

  • Hover and active states must be clearly defined ✅. Interactive elements must look clickable ✅.
  • Button variants: Primary, Secondary, Ghost, each with Default / Hover / Pressed (+ Disabled if used in forms). Optional size variants S / M / L.
  • Use component interactions (hover/press → variant) for states instead of code ✅ (Framer recommends Components over overrides for user interactions).
  • Nav: Desktop, Tablet, Mobile Closed, Mobile Open.
  • Accordion: Closed, Open. Animate height smoothly. Keep it keyboard-operable (Section 19).
  • Transitions: 150–300ms ease-out for hover. Springs for open/close. Keep them consistent across components.

🔎 Deep dive — state matrix and nav variants

Matrix of Primary, Secondary and Ghost buttons across Default, Hover, Pressed, Focus and Disabled states
AI illustrationFigure: Button/Primary, Secondary, Ghost × five states — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.
State Visual change 🧠 Transition 🧠
Default Base fill from Brand/Primary —
Hover Fill Brand/Primary Hover (or −8% lightness), optional icon nudge 2–4px 150–200ms ease-out
Pressed Scale 0.97–0.98 100ms
Focus 2px outline in Border/Strong or brand, 2px offset, never removed Instant
Disabled 40–50% opacity, no hover, not-allowed cursor —
Nav/Main component showing Desktop, Tablet, Mobile Closed and Mobile Open variants for a fictional studio
AI illustrationFigure: Nav/Main variants — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

Mobile menu behavior checklist 🧠: the hamburger is a real button with an accessible name ("Open menu"); Mobile Open covers the page and stops content behind it from being reachable; every link in Mobile Open switches back to Mobile Closed on tap; the close button sits where the hamburger was.

10.4 Component properties (variables) 🧠#

Expose what a buyer will actually change, and nothing else.

Component Expose Don't expose
Button Label, Link, Variant, Show Icon, Icon Padding, radius (system-level)
Project card Image, Title, Category, Link (or bind to CMS) Hover animation internals
Testimonial Quote, Name, Role, Avatar Layout
Section header Eyebrow, Title, Subtitle, Show Eyebrow, Align Font sizes
Pricing card Plan, Price, Period, Features (text), Highlighted (boolean), CTA Label, CTA Link

Rules:

  • Property names are buyer-facing English: Show Icon, not iconVis.
  • Give every property a sensible default that looks great untouched.
  • Use booleans for optional elements (Show Badge) instead of separate variants.
  • Link properties should accept page links and URLs.

🔎 Deep dive — what a good properties panel looks like

A selected pricing card on the canvas with a properties panel listing Variant, Plan, Price, Period, Features, Highlighted toggle, CTA Label and CTA Link
AI illustrationFigure: Buyer-facing component properties — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.
Pricing section with Monthly/Yearly toggle and three plan cards, the middle one highlighted as Most popular
AI illustrationFigure: Pricing section built from one Card/Pricing component with Highlighted = on for the middle plan — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.
❌ Property name ✅ Property name Type
txt1 Title Text
isVis Show Badge Boolean (toggle)
bgImg Image Image
href Link Link
v Style (Primary / Secondary / Ghost) Variant
hl Highlighted Boolean

Test 🧠: hand the component to someone who has never seen it. If they can't change every visible piece of content from the right panel within a minute, a property is missing or badly named.

10.5 Component checklist#


11. Imagery & Placeholder Content#

11.1 Rules ✅#

  • Visual assets polished and high quality ✅.
  • No placeholder or lorem ipsum ✅.
  • Meaningful alt text on images ✅. Leave decorative images without alt text 🧠 (standard practice).
  • Assets original or properly licensed ✅.

11.2 Content strategy 🧠#

  • Write like a real business in the niche. Use real-sounding services, prices, case-study outcomes, team roles, and FAQs. Buyers judge fit by how well your copy describes their business.
  • Invent a coherent fictional brand (name, logo, voice) for the demo. Avoid real brands.
  • Images tell one story. Same color grade, same lighting, same crop logic. Inconsistent stock is the fastest way to look cheap.
  • Use AI imagery for consistency where useful. Keep a ledger of tool + license (5.3). Avoid generated people with distorted hands or text artifacts. Check every image at 100%.
  • Aspect ratios: standardize (e.g., 4:3 for cards, 16:9 for heroes/case-study covers, 1:1 for avatars, 3:4 for portraits). Lock ratios in components so buyer swaps don't break layouts.
  • Upload source images unmodified, at sufficient resolution (up to 4096px longest side is used). Framer generates 512/1024/2048/4096 variants and serves AVIF/WebP automatically ✅. Don't pre-convert.
  • Keep source files reasonable: ~2400–3200px longest side for full-bleed heroes, ~1600px for cards 🧠. Framer caps variants at 4096 ✅, and it never upscales ✅.
  • Upload SVGs as image fills (frame → Fill → Image) for complex graphics ✅.

🔎 Deep dive — writing an art-direction spec

Top row of mismatched interior photos with clashing color grades and crops; bottom row of photos sharing one warm grade and identical 4:3 crops
AI illustrationFigure: Imagery: inconsistent vs one story — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

🧠 Put a one-paragraph spec in the asset ledger before generating or shooting anything, and reuse it for every image:

text
Art direction — Northwind (fictional)
Subject: calm architecture and interiors, no people in heroes
Light: soft natural daylight, late afternoon, no hard flash
Grade: warm neutrals, lifted blacks, low saturation (timber, linen, stone)
Lens/framing: eye-level, straight verticals, 35–50mm feel, subject off-center
Ratios: cards 4:3, heroes 16:9, portraits 3:4, avatars 1:1
Never: text in images, logos, recognizable real buildings or people, heavy vignettes

11.3 Alt text rules 🧠#

  • Describe content and purpose in ≤ 125 characters: "Architect reviewing timber model on studio table."
  • Don't start with "Image of…"
  • CMS images: add an Alt text field (or use the image field's built-in alt if available ⚠️) and bind it.
  • Instructions page: tell buyers to replace alt text along with images.

11.4 Imagery checklist#


12. CMS Collections & Dynamic Pages#

12.1 Official guidance ✅#

  • Manage repeated content through the CMS. Connect fields clearly to pages and components. Remove empty/unused entries. Use clear naming for collections and fields ✅.
  • CMS 3.0 (April 21, 2026): inline table editing, bulk actions, collection folders, field panel, filtering ✅.
  • Dynamic Filters (February 19, 2026): Search, Tabs, Toggles, Dropdowns, Checkboxes on Collection Lists. Works with Empty States and Pagination. Uses auto-created page variables ✅.
  • Dynamic SEO: {{Title}}, {{Description}} in CMS page settings. CMS image field as the social preview ✅.

12.2 Collection design 🧠#

Collection Core fields
Projects/Work Title, Slug, Client, Category (option or reference), Year, Cover Image, Cover Alt, Summary (plain text), Body (rich text), Gallery (images), Featured (toggle), SEO Title, SEO Description
Blog/Posts Title, Slug, Date, Author (reference), Category (reference), Cover Image, Cover Alt, Excerpt, Body, Featured, SEO Title, SEO Description
Authors/Team Name, Slug, Role, Photo, Photo Alt, Bio, Social links
Categories Name, Slug, Description, Color (if used)
Services/Features Title, Slug, Icon, Summary, Body, Order (number)
Jobs/Careers Title, Department, Location, Type, Apply Link, Body
Testimonials (optional) Quote, Name, Role, Company, Avatar

Rules:

  • Field names in Title Case, plain English. Add field descriptions where the purpose isn't obvious.
  • Fill every collection with 6–9 realistic items: enough to show grids, pagination, and filters, without forcing buyers to delete 40 entries. Framer's Skills post explicitly pushes creators away from "dozens of CMS entries" toward focused starting points plus Agent skills ✅.
  • No empty or test items ✅.
  • Mind plan limits: Basic allows only 2 collections, Pro 10 ✅. 🧠 Prefer fewer collections. Use option fields instead of a separate Categories collection where you can. Disclose if more than 2 are needed.
  • Every detail page (/work/:slug) must have dynamic title, description, and social image bound ✅.
  • Design empty states for filtered lists ✅ (supported) and handle optional fields with visibility conditions (e.g., hide Gallery section if empty) 🧠.
  • Link "Next project / Related posts" via filters or references for depth and internal linking.

🔎 Deep dive — CMS pages and filters, illustrated

Blog index page with category tabs and a three-column post grid next to the matching article detail page with cover image, author, narrow body column and related posts
AI illustrationFigure: Blog index + detail from one Posts collection — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.
Projects page with search, category dropdown and toggle chips showing filtered results with pagination, beside the same page showing a 'No projects match these filters' empty state with a Clear filters button
AI illustrationFigure: Dynamic Filters with designed empty state — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

🧠 Example field schema for a Posts collection (types as named in Framer's CMS field picker; check names in your version ⚠️):

Field Type Required Bound to
Title Plain text ✅ h1, card title, {{Title}} meta
Slug Slug (auto from Title) ✅ URL /blog/:slug
Date Date ✅ Card meta, article meta
Category Option (or Reference to Categories) ✅ Tag, Dynamic Filter tabs
Author Reference → Authors — Byline (hide if empty)
Cover Image Image ✅ Card, hero, social image
Cover Alt Plain text ✅ Image alt
Excerpt Plain text (≤ 160 chars) ✅ Card, {{Description}} fallback
Body Formatted text ✅ Article body (max-width ~720)
Featured Toggle — Home "Featured" list filter
SEO Title / SEO Description Plain text — Page settings meta (fallback to Title/Excerpt)

Using Option for Category instead of a Categories collection keeps the template at 2 collections (Posts + Projects), so it publishes on Basic ✅ (plan limits in 3.5).

12.3 CMS checklist#


13. Animations & Effects#

13.1 Official guidance ✅#

  • Motion is purposeful and guides attention. Avoid excessive or overly complex animation. Keep performance in mind ✅.
  • Use Appear effects for key elements at the top of the site. They load before JavaScript. Avoid scroll animation effects for these above-the-fold elements ✅.
  • Shadows and blurs slow down animation and scrolling. Keep blur values below 10 ✅.
  • Layout templates support shared page transitions and layout animations ✅.
  • Respect reduced motion: Framer's site setting disables parallax, transform, and layout animations for users who prefer reduced motion ✅.

13.2 Motion system 🧠#

Effect Where Spec
Appear (fade + 16–24px rise) Hero, section entries 400–700ms, ease-out, stagger 60–100ms, once
Hover Buttons, cards, links 150–250ms; scale ≤ 1.03, or color/underline/image zoom ≤ 1.05
Press Buttons Scale 0.97–0.98
Scroll-triggered Below-the-fold reveals Trigger once, short distance
Scroll-linked (parallax/transform) 1–2 signature moments max Subtle. Disabled under reduced motion
Page transitions Via layout template ≤ 400ms, simple fade/slide
Loop/marquee Logo strips Slow. Pause off-screen if custom code
Custom cursor Rarely Disabled with reduced motion. Never hides the system cursor on touch

Rules:

  • One motion language per template: same easing, same distances, same durations.
  • Nothing animates text that buyers must read before it finishes (no letter-by-letter body copy).
  • No scroll-jacking. No preloaders over 1s. Never block content behind an intro animation.
  • Test on a mid-range phone. Turn on OS reduced motion and confirm the site still works and reads well.

13.3 Motion checklist#


14. Code Components & Overrides#

14.1 Official stance ✅#

  • Custom code should be clean, minimal, and easy to understand. Use native features first. Use embeds only when necessary. Keep code compatible with current Framer ✅.
  • "You might not need Code Overrides." Native replacements: animating text/layers → Effects, user interactions → Components, dynamic data → Fetch ✅.
  • Overrides must be React 18 compatible and use forwardRef so effects and links keep working. Always spread existing props ✅.
  • Code components expose settings through addPropertyControls and ControlType. Also set defaultProps ✅.

14.2 When code is justified 🧠#

✅ Use code for: a feature Framer can't do natively (e.g., live currency toggle, interactive calculator, specialized media), and only when it's essential to the template's value. ❌ Don't use code for: hover effects, reveals, carousels/tickers (native or official components exist), tracking scripts the buyer should add themselves, anything that breaks when the buyer edits the canvas.

14.3 Safe-code rules (adapted from Framer's component review checklist) ✅#

  • Static rendering: use useIsStaticRenderer() so animations and browser behavior don't run on the Canvas or in exports. Don't rely on typeof window. Nothing runs at module level.
  • Remove unused code, resolve TypeScript errors, handle empty and error states.
  • Pause work off-screen: rAF loops, timers, media, WebGL. Clean up on unmount.
  • Limit external dependencies: bundle deps. No remote script loading. Validate URLs from property controls. Disclose any required external service.
  • Accessibility: native <button>/<a>, alt text, visible focus, labeled inputs, accessible names on icon buttons.
  • Scope DOM changes to the component. Never touch document.body/head, global styles, or page-wide observers.
  • Performance: no continuous loops, short polling, full-DOM scans, or listeners added each render.
  • Accurate property controls: test each one, use clear titles/descriptions, sensible ranges, hidden() for irrelevant controls, and keep defaults in sync with code.
  • No unsafe HTML: no dangerouslySetInnerHTML with configurable or external content.
  • Supported APIs only. No undocumented internals. Replace deprecated controls (e.g., ControlType.Image → ResponsiveImage, SegmentedEnum → Enum + displaySegmentedControl, FusedNumber → Padding/BorderRadius) ✅.

14.4 Custom head/body code ✅#

  • Add scripts only where needed. Use page-level code for page-specific scripts.
  • Use defer (or async when it must load ASAP). Never neither ✅.
  • 🧠 Ship templates with no analytics or tracking scripts of your own (they'd send buyers' visitor data to you, which raises privacy issues under §4.4). Document where buyers can add theirs.

14.5 Minimal patterns ✅#

tsx
// Override — always forwardRef + spread props (React 18)
import { forwardRef, type ComponentType } from "react"

export function withHalfOpacity(Component): ComponentType {
  return forwardRef((props, ref) => (
    <Component ref={ref} {...props} style={{ ...props.style, opacity: 0.5 }} />
  ))
}
tsx
// Code component — property controls + defaults + static-safe
import { useEffect } from "react"
import { addPropertyControls, ControlType, useIsStaticRenderer } from "framer"

export default function Ticker({ text, speed }) {
  const isStatic = useIsStaticRenderer()
  useEffect(() => {
    if (isStatic) return
    // start animation; return cleanup
    return () => {}
  }, [isStatic])
  return <div role="marquee" aria-label={text}>{text}</div>
}
Ticker.defaultProps = { text: "Available for new projects", speed: 40 }
addPropertyControls(Ticker, {
  text: { type: ControlType.String, title: "Text" },
  speed: { type: ControlType.Number, title: "Speed", min: 5, max: 200, unit: "px/s" },
})

🔎 Deep dive — more code patterns (checked against Framer's developer docs, Oct 17, 2026)

Facts ✅ (Developers docs: Property Controls, Auto-Sizing, API Reference; Help: Prepare your component for review, updated Sep 15, 2026):

  • Controls can be hidden with hidden(props) and documented with description (Markdown allowed).
  • ControlType.ResponsiveImage passes { src, srcSet, alt }. ControlType.Image is deprecated.
  • ControlType.Enum + displaySegmentedControl: true replaces the deprecated SegmentedEnum. ControlType.Padding / BorderRadius replace FusedNumber.
  • Sizing is set with @framerSupportedLayoutWidth / @framerSupportedLayoutHeight (auto, fixed, any, any-prefer-fixed; default any) and @framerIntrinsicWidth / @framerIntrinsicHeight, on the lines directly above the component. Spread style on the root so fixed sizing works.
  • For animated components, use useIsStaticRenderer() (static on Canvas and Export) instead of RenderTarget.

Override that adds safe external-link attributes (pattern from 14.5, React 18 + forwardRef + spread props ✅):

tsx
import { forwardRef, type ComponentType } from "react"

export function withExternalLink(Component): ComponentType {
  return forwardRef((props: any, ref) => (
    <Component ref={ref} {...props} target="_blank" rel="noopener noreferrer" />
  ))
}

Code component with responsive image, segmented enum, conditional control, sizing annotations ✅ APIs, 🧠 component:

tsx
import { addPropertyControls, ControlType } from "framer"

/**
 * @framerSupportedLayoutWidth any-prefer-fixed
 * @framerSupportedLayoutHeight auto
 * @framerIntrinsicWidth 360
 */
export default function Badge({ label, tone, showImage, image, style }) {
  const colors = { neutral: "#EEE", success: "#DCFCE7", warning: "#FEF3C7" }
  return (
    <div style={{ display: "flex", gap: 8, alignItems: "center", padding: "6px 10px",
                  borderRadius: 999, background: colors[tone], ...style }}>
      {showImage && image?.src && (
        <img src={image.src} srcSet={image.srcSet} alt={image.alt ?? ""}
             width={20} height={20} style={{ borderRadius: 999 }} />
      )}
      <span>{label}</span>
    </div>
  )
}

Badge.defaultProps = { label: "New", tone: "neutral", showImage: false }

addPropertyControls(Badge, {
  label: { type: ControlType.String, title: "Label", maxLength: 24 },
  tone: {
    type: ControlType.Enum, title: "Tone",
    options: ["neutral", "success", "warning"],
    optionTitles: ["Neutral", "Success", "Warning"],
    displaySegmentedControl: true,
  },
  showImage: { type: ControlType.Boolean, title: "Show Image" },
  image: {
    type: ControlType.ResponsiveImage, title: "Image",
    description: "Square image, at least 40×40.",
    hidden: (props) => !props.showImage,
  },
})

Static-safe, off-screen-paused, reduced-motion-aware animation loop (✅ useIsStaticRenderer; 🧠 IntersectionObserver + prefers-reduced-motion are standard web APIs):

tsx
import { useEffect, useRef } from "react"
import { addPropertyControls, ControlType, useIsStaticRenderer } from "framer"

export default function Marquee({ text, speed, style }) {
  const isStatic = useIsStaticRenderer()
  const root = useRef<HTMLDivElement>(null)
  const track = useRef<HTMLDivElement>(null)

  useEffect(() => {
    if (isStatic || !root.current || !track.current) return
    const reduce = window.matchMedia("(prefers-reduced-motion: reduce)").matches
    if (reduce) return
    let raf = 0, x = 0, last = performance.now(), visible = false
    const tick = (now: number) => {
      x = (x - (speed * (now - last)) / 1000) % (track.current!.scrollWidth / 2)
      last = now
      track.current!.style.transform = `translateX(${x}px)`
      raf = requestAnimationFrame(tick)
    }
    const io = new IntersectionObserver(([entry]) => {
      visible = entry.isIntersecting
      cancelAnimationFrame(raf)
      if (visible) { last = performance.now(); raf = requestAnimationFrame(tick) }
    })
    io.observe(root.current)
    return () => { io.disconnect(); cancelAnimationFrame(raf) }   // clean up on unmount
  }, [isStatic, speed])

  return (
    <div ref={root} role="marquee" aria-label={text} style={{ overflow: "hidden", ...style }}>
      <div ref={track} aria-hidden="true" style={{ display: "flex", gap: 48, width: "max-content" }}>
        <span>{text}</span><span>{text}</span>
      </div>
    </div>
  )
}
Marquee.defaultProps = { text: "Available for new projects", speed: 40 }
addPropertyControls(Marquee, {
  text: { type: ControlType.String, title: "Text" },
  speed: { type: ControlType.Number, title: "Speed", min: 5, max: 200, unit: "px/s" },
})

14.6 Code checklist#


15. Forms & Integrations#

15.1 What Framer provides ✅#

  • Native forms (Insert → Forms): multiple input types, designable states, send to Email, Google Sheets, or Webhooks, built-in spam protection and rate limiting.
  • Built-in integrations include Formspark, HubSpot, Typeform (plus Calendly and Intercom per the FAQ).
  • Input component for email signups: Loops.so, Mailchimp, Formspark, GetWaitlist.
  • Embeds for other providers (Tally, Beehiiv…). Embeds can slow sites down, so use them only when needed ✅.

15.2 Template form rules 🧠#

  • Use native forms by default. They survive remixing and need no third-party account.
  • Do not leave your own email or webhook as the destination. Before publishing the template, set the destination to a neutral state, or clearly mark it on the Instructions page: "Step 3: Select the form → Send To → your email." Otherwise you'll receive buyers' visitors' leads (privacy problem) ⚠️ (check how form destinations behave on remix and document the result).
  • Every field has a visible label, not placeholder-only ✅ ("Form fields are clearly labeled").
  • Design Default / Focus / Error / Success / Loading states.
  • The preview site's form must actually submit (old #1 rejection reason). Test it.
  • Contact links: mailto: and tel: ✅.
  • No integration that needs a paid account to make core functionality work, unless you disclose it in the listing ✅ ("Setup requirements and limitations are clearly communicated"; Terms §2.7 on undisclosed payment channels).
  • Booking (Calendly/Cal.com) and newsletter blocks: ship as clearly labeled, swappable components with instructions.

🔎 Deep dive — the five form states

Contact form shown in Default, Focus, Error, Loading and Success states with visible labels and a clear error message
AI illustrationFigure: Form states: Default, Focus, Error, Loading, Success — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.
State Must show 🧠
Default Visible label above each field ✅; placeholder only as an example
Focus Visible ring on the field (≥ 3:1 against the surface)
Error Red border plus a text message that says how to fix it ("Enter a valid email address") ✅ (not color alone)
Loading Button disabled with a spinner or "Sending…" so it can't be double-submitted
Success Plain confirmation that sets expectations ("We'll reply within 2 business days")

15.3 Forms checklist#


16. Localization#

16.1 How it works ✅#

  • Localization view → Add Locale (language + optional region + fallback language). Page text, titles, descriptions, and image alt text show up in the Localization table, grouped by page.
  • Translate manually, or with AI Translation (uses plan credits). Manual translation never uses credits.
  • Preview locales on the canvas through the locale switcher. Translations can be edited on the canvas.
  • Pricing: localization is an add-on, $20 per locale (up to 20) on Basic/Pro ✅. The Free plan includes one free locale to try ✅.

16.2 Template guidance 🧠#

  • Most templates should ship single-language (English). Locales cost buyers money.
  • Make the template localization-ready:
    • No text baked into images.
    • Layouts survive +30–40% text length (German/French). Buttons are fit-content and wrap gracefully.
    • Use CMS for content-heavy parts so localization flows through the CMS.
    • Avoid hard-coded date/currency formats in images. Keep them as text.
  • Offer an "international" template variant only for niches where it matters (tourism, hospitality, cross-border SaaS). Then show a locale switcher component and list "Localization add-on required" in the listing.

16.3 Localization checklist#


17. SEO & AEO#

17.1 Official mechanics ✅#

  • Site title + description in Site Settings. Per-page overrides in Page Settings, including the "show in search engines / site search" toggle.
  • CMS dynamic meta: {{Title}}, {{Description}}, combinable ({{Title}} – Blog).
  • Social preview images: 1200 × 630, important content centered. Per-CMS-item image via CMS variables.
  • Sitemap auto-generated at /sitemap.xml and kept current on publish.
  • Framer's Link Preview tool checks how pages render on Google, X, LinkedIn, Slack.
  • Google may rewrite descriptions. You can mark content "Google Bot → Skip" in Accessibility.
  • Skills Index includes ready-made skills: SEO check, Page metadata, SEO content writer, Create llms.txt ✅.

17.2 Template SEO rules 🧠✅#

  • Every page has a unique title (≤ 60 characters) and description (≤ 155 characters) ✅ (title + description per page required in best practices).
  • One h1 per page. Logical h2/h3 order ✅. Semantic frame tags: header, nav, main/article, section, footer ✅.
  • Utility pages: /instructions, /style-guide and legal placeholders should be hidden from search engines 🧠.
  • Social image: a site-level 1200×630 branded image, plus per-CMS-item cover binding ✅.
  • Favicon + touch icon set.
  • Internal links: nav, footer, related items, breadcrumbs on detail pages.
  • Slugs: short, lowercase, keyworded. CMS slug field filled for every item.
  • AEO (answer-engine optimization) 🧠: FAQ sections with direct answers, clear entity statements in About pages, and optionally an llms.txt generated with Framer's skill ✅ (skill exists).
  • 🧠 Note for the instructions page: buyers must re-do SEO for their brand. Give them a 5-step SEO setup list.

🔎 Deep dive — social image and meta, worked example

A 1200 by 630 social preview card for a fictional studio with the headline centered inside a dashed safe area and a timber house photo on the right
AI illustrationFigure: 1200 × 630 social image with a centered safe area — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

🧠 Example metadata for a template's pages (rewrite per brand; length limits from 17.2):

Page Title (≤ 60) Description (≤ 155) Search
Home Northwind — Architecture Studio in Portland Residential and cultural architecture shaped by light, timber, and climate. See selected projects and book a studio visit. Show
Work (CMS index) Projects — Northwind Houses, cabins, and public spaces designed by Northwind since 2014. Show
Work detail {{Title}} — Northwind {{Summary}} Show
Blog detail {{Title}} – Journal {{Excerpt}} Show
Instructions Getting started — Northwind template Setup guide for buyers. Hide
Style guide Style guide — Northwind template Colors, type, and components. Hide

Safe area 🧠: keep the logo and headline inside the middle ~1000 × 520 of the 1200 × 630 image, because some platforms crop the edges.

17.3 SEO checklist#


18. Performance#

18.1 Official levers ✅#

Area Do
Images Upload as-is, Resolution Auto. Framer resizes (512/1024/2048/4096), converts to AVIF (q80) or WebP, adds srcset, and lazy-loads below ~1000px
SVG Simple SVGs fine (SVGO-optimized). Complex SVGs → use as image fill
Fonts Google Fonts preferred. Weights 300–800. Re-upload pre-Nov-2023 custom fonts
Video Prefer YouTube/Vimeo components (adaptive). Avoid autoplay. Muted, looped, no-controls videos lazy-load and play only when visible. Framer serves self-hosted video at original resolution
Effects Appear for top-of-page elements. No scroll animations there
Shadows/blur Use sparingly. Blur < 10
Embeds HubSpot forms, Spline 3D, etc. slow sites. Test removal on a duplicate
Custom code defer/async. Page-level only where needed
Status Site Settings → Versions: latest version should say Optimized (not "Optimization Error")

18.2 Targets 🧠#

  • Lighthouse (mobile) on Home and a CMS detail page: Performance ≥ 90, Accessibility ≥ 95, Best Practices ≥ 95, SEO = 100.
  • Core Web Vitals: LCP < 2.5s, CLS < 0.1, INP < 200ms.
  • Self-hosted hero video ≤ 3–5 MB, 720–1080p, H.264/WebM, with a poster image. Otherwise use Vimeo/YouTube ✅.
  • Lottie/Spline: one signature moment max, below the fold, or loaded on interaction.
  • Note: the Free plan caps uploads at 5 MB per file ✅. Keep assets under that so buyers on any plan can remix without problems 🧠 ⚠️ (check whether the limit applies to remixed content).

18.3 Performance checklist#


19. Accessibility#

19.1 Framer tools ✅#

  • Accessibility panel: semantic tags for text (auto from text styles) and frames (article, footer, header, nav, section), image alt text, custom tab order.
  • Reduced motion site setting: disables parallax, transform, and layout animations (and custom cursors) for users who prefer reduced motion.
  • Contrast: check with Chrome Lighthouse ✅.
  • Videos without audio: describe the content below the video ✅.
  • Skills Index has an Accessibility check skill ✅. Agents can audit accessibility issues ✅.

19.2 Template a11y rules (WCAG 2.2 AA baseline) 🧠✅#

  • Contrast: 4.5:1 body, 3:1 large text and UI components, in light and dark modes ✅.
  • Keyboard: every link, button, menu, accordion, tab, and form field is reachable and operable by keyboard. Logical tab order ✅.
  • Focus visible: never remove focus outlines without a styled replacement.
  • Semantics: nav around navigation, header/footer tags, section for sections, article for blog/case bodies ✅.
  • Headings: one h1, no skipped levels ✅.
  • Alt text: meaningful on content images, empty on decorative ones ✅.
  • Links: descriptive text ("View case study: Kinfolk Rebrand", not "Click here"). Icon-only buttons have accessible names.
  • Forms: visible labels, error messages in text (not color alone) ✅.
  • Motion: reduced-motion setting enabled. No flashing content more than 3 times per second.
  • Touch targets ≥ 44px. Zoom: layout survives 200% browser zoom.
  • Language set in site settings.

🔎 Deep dive — focus, contrast, and tap targets

Keyboard focus ring and numbered tab order on a navigation bar and card, contrast examples failing at 2.1:1 and passing at 7.4:1, and an icon button with an aria-label and a 44 by 44 tap target
AI illustrationFigure: Focus order, contrast, accessible names, tap targets — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

🧠 15-minute manual a11y pass:

  1. Keyboard: Tab from the top of Home. Every stop has a visible ring, the order matches reading order, the mobile menu opens with Enter and closes with Esc, and focus never gets trapped.
  2. Zoom: 200% browser zoom on Home and a CMS detail page. No overlapping or clipped text.
  3. Reduced motion: turn on the OS setting and reload. Parallax, transforms, and layout animations stop ✅ (Framer's site setting), and nothing important is hidden behind an animation.
  4. Screen reader spot check (VoiceOver: ⌘F5 on macOS): the rotor's headings list shows one h1 and a sensible outline; landmarks show header, nav, main/sections, footer.
  5. Contrast: check Text/Secondary on Surface/Raised in both modes, the usual weakest pair.

19.3 Accessibility checklist#


Page Required? Contents
404 ✅ MUST (official best practice) On-brand message, search or key links, button home. Uses the layout template
Privacy Policy 🧠 MUST if forms exist Clearly labeled sample text: "Replace with your own policy"
Terms 🧠 SHOULD Same disclaimer
Cookie notice 🧠 MAY Only if the template ships analytics/cookies (preferably it doesn't)
Instructions / Getting Started 🧠 MUST See 21.3. Noindexed
Style guide 🧠 SHOULD for Premium Live display of color styles, text styles, buttons, components. Helps buyers and the Agent
Changelog 🧠 SHOULD Versions + dates (4.6)
Coming soon / Password / Thank-you 🧠 MAY Niche-dependent (launch templates, forms)

Framer Academy has lessons on creating a custom 404 page and a "prelaunch checklist" ✅ (lesson titles exist).

🔎 Deep dive — utility pages, illustrated

On-brand 404 page with large thin 404 numerals, the headline 'This room hasn't been built yet', a Back to home button and secondary links, with the site's nav and footer
AI illustrationFigure: Custom 404 that uses the layout template — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

404 spec 🧠: same layout template (nav + footer) ✅; one human headline in the brand's voice; one line that says what happened; one primary button home plus 2–3 links to the most useful pages (Work, Contact, Blog); no auto-redirect; hidden from search.

Style guide page listing semantic color styles with hex values, a typography scale from Display to Button, and button and card components
AI illustrationFigure: Style guide page (noindex) for buyers and the Agent — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

Style-guide page contents 🧠: every color style (name + light/dark value), every text style (live specimen + size per breakpoint), all button variants and states, every card component, form fields in all states, and the spacing scale. Because it uses the real styles and components, it updates itself when the buyer rebrands, and the Agent can be pointed at it (@page Style Guide, as in 21.4).


21. Customization-Friendliness & AI-Readiness#

21.1 Framer's definition of AI-ready ✅#

"An AI-ready template has clean structure, reusable components, consistent styles, organized CMS collections, and clear guidance for how it should be customized. It should be easy for both people and AI to understand."

  • Creators can add custom instructions that guide the in-canvas Agent: what to change, what to preserve, how to extend pages, and how to adapt the brand for different industries ✅.
  • Skills stay with a project when remixed ✅. They can reference @page, components, and styles. Create them with /skills or Settings → Skills. The Agent can apply a skill automatically when its description matches the task ✅.
  • Framer provides a demo /design-system skill project. The Skills Index offers copyable skills (Design system, Motion, Launch checklist, Accessibility check, Tidy up, CMS check, Form audit, SEO check, Page metadata, Brand voice, Remove AI writing, Create llms.txt) ✅.

21.2 One-click rebrand design 🧠#

Buyers should be able to rebrand in under 10 minutes:

  1. Colors: edit Brand/Primary (+ Hover/On Primary) and the Surface/Text set. Everything updates.
  2. Fonts: change the font family in ~2 groups of text styles (display, body).
  3. Logo: one Logo component used in nav, footer, and favicon instructions.
  4. Radius / style feel: buttons and cards draw from components, so one edit propagates.
  5. Content: CMS for repeating content. Component properties for section copy.

Test this yourself: rebrand the template to a different industry in 10 minutes. Anything that took longer is a fix.

21.3 Instructions page template (ship in every template) 🧠#

text
# Getting started with [Template Name]  (v1.0.0)
1. Rebrand in 5 minutes
   - Colors: Assets → Color Styles → edit Brand/Primary …
   - Fonts: Assets → Text Styles → change Display + Body family …
   - Logo: edit the "Logo" component …
2. Edit content
   - Pages vs CMS: which sections come from which collection
   - Component properties: select a component → right panel
3. Forms → set "Send To" to your email/Sheets/webhook
4. SEO → Site Settings title/description, social image, per-page meta, CMS {{Title}}
5. Publish → connect domain (requires a paid plan); Basic vs Pro requirements: [collections/pages]
6. Using the Framer Agent
   - This template includes the /[template-name] skill. Try: "/[template-name] add a Careers page with 3 roles"
7. Fonts, images & licenses: what is included and what you must replace
8. Support: [email], response time [e.g., within 2 business days], refund policy link
9. Changelog
→ Delete or unpublish this page before going live (it is noindexed by default).

🔎 Deep dive — what the Instructions page looks like

Getting started page with a numbered sidebar of setup steps and a main area showing step one with annotated color and text style panels
AI illustrationFigure: Instructions page laid out as numbered steps — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

🧠 Layout tips: numbered steps in a sticky sidebar that match the outline in 21.3; one screenshot per step taken from the template itself; a "Plan requirements" callout at the top (Basic vs Pro); the support email and changelog at the bottom. Keep it under ~1,500 words. Anything longer belongs in the template Skill.

21.4 Template Skill starter (paste into Settings → Skills, edit per template) 🧠#

text
Title: [template-name]
Description: Use when adding or editing pages, sections, or CMS content in the [Template Name] template.

Content:
You are extending the [Template Name] design system. Never invent new colors, text styles, or spacing.
Pages
- Apply the "Main" layout template to every new page. Set a unique meta title and description.
- Sections fill width (1fr) and contain a "Container" with max width 1200px.
- Use @page Style Guide as the source of components; reuse section components before building new ones.
Colors: only Brand/*, Surface/*, Text/*, Border/* styles. Brand/Primary max once per section.
Typography: only text styles Display, H1–H6, Body L, Body, Body S, Label, Button. Sentence case. Text balance on headings. 50–75 chars per line.
Spacing: use 8/16/24/32/48/64/96/120 only. Section padding 120 desktop / 96 tablet / 64 phone.
Motion: Appear fade+rise 20px, 500ms, stagger 80ms, once. No scroll effects above the fold. Blur < 10.
CMS: new projects go to the Projects collection; always fill Cover Alt, SEO Title, SEO Description.
Preserve: hero composition, nav/footer, the signature [describe] effect.
Before finishing: check all breakpoints, no horizontal scroll, headings in order, alt text present.

21.5 Customization checklist#


22. Preview Site & Marketplace Listing#

22.1 Live preview ✅#

  • Required for every template. Publish the project and paste the free Framer domain URL into the Community composer.
  • It must come from the project that contains the template you're selling and accurately represent what buyers get.
  • Republishing updates what visitors see.
  • 🧠 Use a clean subdomain such as templatename.framer.website. Keep the Instructions page reachable but unlinked, or unpublished for the preview.
  • 🧠 No "Buy this template" banners inside the template itself (best practice: remove ads/unrelated promotions ✅). If you want a purchase CTA on the preview, add a small floating badge to the preview only, and remove it from the remix source ⚠️ (judgment call. Many creators do this. Keep it unobtrusive).

22.2 Media specs ✅⚠️#

Asset Spec Status
Listing images 4:3, at least 1600 × 1200. Ratio must be exact (e.g., 3200×2400; 3376×2532 works, 3375×2531 fails) ⚠️ Confirmed by Framer staff on Reddit (Dec 2025, pre-3.0). Re-check in the composer
First media Your strongest asset. Video preferred. May be used as the thumbnail across the Community ✅
Context Show the template in a browser window, in real use ✅
Social/OG image of the template site 1200 × 630 ✅
  1. Hero shot / video: browser-framed home hero with the brand name visible. Readable at thumbnail size.
  2. Full home page scroll (tall composition or video).
  3. Key differentiator (the signature section or interaction).
  4. CMS pages (index + detail side by side).
  5. Responsive trio (desktop/tablet/phone).
  6. Design system / style guide (color + type), which signals customizability.
  7. Feature callouts: "8 pages · 3 CMS collections · Light/Dark · Agent skill included."
  8. Additional pages (pricing, about, contact, 404).
  • Use the same background, frame style, and type across all images so they look like a set.
  • Only show what's in the product ✅ (accurate previews).
  • No fake "Bestseller" badges, no misleading claims.

🔎 Deep dive — listing media, illustrated

Listing cover: a browser window on a warm beige background showing a studio template hero with the headline 'Architecture with intent'
AI illustrationFigure: First listing image: browser-framed hero, readable at thumbnail size — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.
Six matching listing images on the same sand background: home hero, full-page scroll, signature section, CMS index and detail, responsive trio, and style guide
AI illustrationFigure: A cohesive 6-image listing set following 22.3 — AI-generated illustrative example (Magnific), not a real template or Framer screenshot.

🧠 Export recipe for exact 4:3 media (per the ⚠️ spec in 22.2): build each listing image as a 1600 × 1200 frame on a separate canvas page (or in your design tool) and export at 2× → 3200 × 2400, which is exactly 4:3. Keep the browser frame at the same position and scale in every image, use one background color, and leave ~8% margin so nothing important is cropped in thumbnails. Check the thumbnail by viewing the image at 400px wide: the template name and headline should still be readable.

22.4 Listing copy ✅🧠#

  • Title: clear and searchable (4.5).
  • Byline (one line): "[Who it's for] + [outcome]". Example: "A refined website template for architecture and interior studios to showcase projects and win clients."
  • Description structure:
    text
    [Hook — the buyer and their problem, 1–2 sentences]
    Highlights
    • 10 pages incl. Work (CMS) + Journal (CMS)
    • Light & dark mode via color styles — rebrand in minutes
    • Fully responsive, accessible, Lighthouse 90+ mobile
    • Native forms, Dynamic Filters, smooth native effects
    • Framer Agent skill included for on-brand page generation
    Pages: Home, About, Services, Work, Work Detail, Journal, Article, Contact, 404, Legal
    CMS: Projects, Posts (works on Basic plan — 2 collections)
    Requirements & limitations: [plan needs, fonts, external services]
    Support: [email], replies within 2 business days · Refunds: [policy summary + link]
    License: one license = one website (Framer Single-Use Commercial License)
    Changelog: v1.0.0 — [date]
    
  • Categories: the most accurate one. Style tags (e.g., Minimal, Dark, Animated). Feature tags (e.g., CMS, Forms, Scroll Effects) ✅.
  • Add a personal launch post when publishing. It goes to your followers and can help in For You/Hype feeds ✅.

22.5 Listing checklist#


23. Checkout, Delivery, Refunds & Support Ops#

23.1 Checkout ✅#

  • Framer does not process payments. "Purchase" redirects to your checkout URL. Any platform with a direct payment link works (Framer names Contra, Stripe, Gumroad).
  • Checkout requirements: direct to payment, product + price shown, price = listing price, public with no login, refund/cancellation policy shown.

23.2 Platform choice 🧠#

Platform Merchant of Record (handles VAT/sales tax) Notes
Lemon Squeezy Yes Popular with Framer creators; auto email delivery
Gumroad Yes (as of recent years) ⚠️ Simple; audience features
Polar Yes ⚠️ Dev-friendly
Paddle Yes ⚠️ More setup
Stripe Payment Links No, you handle tax (Stripe Tax optional) Lowest fees, most admin
Contra ⚠️ check Named by Framer
⚠️ MoR status and fees change. Verify on each platform before choosing.

23.3 Delivery ✅🧠#

  • Deliver the remix link (and instructions) after purchase. A confirmation email is optional but recommended ✅.
  • 🧠 Automate it: put the remix link in the platform's post-purchase "content"/receipt plus an email with the Getting Started steps, support email, and license summary.
  • 🧠 Remix links can be forwarded. The license forbids sharing (§7.3.2). Report misuse to abuse@framer.com ✅.

23.4 Refunds ✅🧠#

  • Framer doesn't issue refunds. Buyers contact you. If you don't respond within about a week, they can contact Framer Support with proof of contact, and Framer will "help facilitate communication" ✅.
  • 🧠 Suggested policy: "Because templates are digital and copied instantly, sales are final. We'll gladly refund within 14 days if a critical bug prevents use and we can't fix it within 5 business days." Show it on checkout ✅ (required).
  • 🧠 EU consumer law can give a 14-day withdrawal right for digital content unless the buyer explicitly waives it at checkout. Use an MoR that handles this, or get advice ⚠️.

23.5 Support ✅🧠#

  • Keep a valid support email and respond within a reasonable timeframe ✅ (Terms §4.1).
  • 🧠 SLA: acknowledge within 24h, resolve within 2 business days. Use canned replies for the top 10 questions (domain connection, plan limits, forms destination, fonts, CMS editing, updates, license, refunds, Agent use, dark mode).
  • 🧠 Log every support question. If one comes up three times, fix the template or the Instructions page.

24. QA Checklist#

Run this on the published preview and on a fresh remix in a second account.

24.1 Functional#

24.2 Visual / responsive#

24.3 Content#

24.4 Technical#

24.5 Hygiene#

🧠 Tip: Framer Agents can audit broken links, accessibility issues, and inconsistent styling ✅. Run those audits (plus the Launch checklist skill) before your manual pass, then do the manual pass anyway.


25. Launch & Post-Launch#

25.1 Launch plan ✅🧠#

Framer's guidance: create a Community post when you publish. Share context that isn't in the listing (process, inspiration, lessons). Ask for feedback. Reply to comments. Publish consistently. Consider timing for active hours ✅.

📊 Timing data: Tuesday is the busiest day for new templates and Sunday the quietest (weekends about 27% fewer). A weekend launch means fewer competitors in Recent. Its effect on sales is unknown.

Launch-day sequence 🧠

  1. Publish listing + Community post (process story, 2–3 visuals or a short video).
  2. X/Threads/LinkedIn thread: a 30–60s walkthrough video, the "why," and a link.
  3. Email list / newsletter.
  4. Submit to galleries/directories (e.g., Frameplate, Gallereee, Landbook, Minimal.Gallery, Dark.design, Awwwards market). Check each one's terms and costs ⚠️.
  5. Your own site: a dedicated template page targeting "[niche] Framer template" searches.
  6. Reply to every comment within 24h for the first week (early engagement feeds Trending/Recent ✅).

25.2 Analytics loop ✅#

  • Marketplace Analytics: unique visitors, views, remixes/opens, users, conversions (remixed projects upgrading to paid Framer plans, templates only).
  • Diagnose before redesigning ✅:
    • Low views → discoverability problem (title, tags, category, distribution).
    • Views but low remixes/purchases → listing problem (thumbnail, byline, description, preview clarity).
    • Good sales, poor retention/refunds → product problem (editing difficulty, bugs, docs).
  • Remix count is higher than sales by design: it counts free copies, Framer internal copies, and repeat duplicates ✅.
  • Track checkout analytics (platform dashboard) plus Dub referral analytics for free templates ✅.

25.3 Updates cadence 🧠✅#

  • Framer: "Keep templates up to date, using new Framer features when they improve the experience" ✅. Best sellers do this visibly 📊.
  • Cadence: PATCH within 72h of a confirmed bug. MINOR quarterly (new page, a new native feature like Dynamic Filters, a better Agent skill). Re-audit after every major Framer release.
  • After every update: republish the preview, update the changelog, refresh listing images if visuals changed, email buyers, and post an update in the Community (fresh activity) 🧠.

25.4 Catalog & bundles 📊🧠#

  • Catalogs earn more steadily than single hits. Dmitrienko and Ehsan built 20+ product catalogs plus all-access bundles 📊.
  • Build families: shared design DNA across a niche (e.g., "Studio" line: architecture, interior, landscape).
  • All-access bundle priced at about 2.5–4× a premium single, including future releases. Sell it on your own site plus checkout platform.
  • Cross-sell: Instructions page and delivery email mention related templates (not inside the template's public pages ✅, since ads/promos must be removed).
  • Free template → email capture → paid launch announcement.

25.5 Referral income (free and paid) ✅#

  • Creator Program enrollment is automatic once you publish a template. Links live in the Links tab of Community profile settings, powered by Dub, paid through Stripe.
  • Payouts are monthly, cover commissions from two months earlier, and need a $200 minimum. Conversions stay pending 30 days. Commissions can be adjusted if the referred customer cancels within the first year.
  • Rewards are based on the amount the referred user actually paid (credits/discounts reduce them) ✅.
  • Taxes are yours. If Stripe isn't available in your country, Framer suggests options like a US LLC or a Wise-based Stripe-compatible account (get advice) ✅.
  • Affiliate links may be included in free templates ✅. No paid ads using affiliate links ✅.

25.6 Post-launch checklist#


26. MASTER Pre-Submission Checklist#

Copy this into the project card. Every box must be ticked before you click Submit. Publishing is instant, so there's no reviewer to catch mistakes ✅.

A. Strategy & pricing#

C. Structure & system#

D. Responsive & layout#

E. Components & content#

F. CMS#

G. Motion & code#

H. Forms & integrations#

I. SEO, performance, accessibility#

J. Utility & buyer experience#

K. QA#

L. Listing & commerce#


27. Quick-Start Workflow#

Total: ~2–4 weeks part-time for a Premium template. ADHD-friendly: one block per session, timer on, tick the box, stop.

# Block (≈ 60–120 min each) Done when
1 Niche sprint: score 3 ideas (2.3), review 10 competitors, pick one Brief: buyer, 3 differentiators, price, page list, CMS list
2 Moodboard + brand: fictional brand, logo, palette, 2 fonts, image direction Moodboard + asset ledger started
3 Project setup: site settings, color styles, text styles, layout template Section 6 + 7 checklists ticked
4 Core components: buttons, nav (all variants), footer, section header, cards Component checklist (10.5) ticked
5 CMS: collections + fields + 6–9 realistic items each CMS checklist (12.3) ticked
6–9 Pages (desktop): Home → Work/Detail → Blog/Detail → About/Services/Pricing/Contact All pages built with components + styles only
10 Tablet + phone + drag-resize Layout checklist (8.5) ticked
11 Motion pass Motion checklist (13.3) ticked
12 Forms, 404, legal, instructions, style guide, changelog Sections 15 + 20 + 21.3 done
13 SEO + performance + a11y pass (+ Agent audits / Skills Index skills) 17.3, 18.3, 19.3 ticked
14 AI-readiness: Agent instructions + template Skill + 3 test prompts + 10-min rebrand test 21.5 ticked
15 Hygiene + QA: Tidy up, delete unused, full Section 24 on preview + fresh remix 24 fully ticked
16 Commerce: checkout product, auto-delivery email, refund policy, test purchase 23 done
17 Listing media: 6–10 images at 4:3 + 30–60s video 22.5 ticked
18 Ship: Master checklist (26) → Submit → launch posts → directories Live + announced
19+ Grow: weekly analytics review, support log, quarterly update, next template 25.6 rhythm running

28. Operating Rules for AI Agents#

When working on a Maker Merchant Framer template, agents MUST:

  1. Use only existing styles and components. Never create a new color or text style without explicit approval. Never hard-code colors or font sizes.
  2. Name every layer you create per 6.3. Never leave Frame N.
  3. Keep sections as 1fr + Container (max-width 1200) unless the brief says otherwise.
  4. Use Stacks/Grid with fit/fill sizing. No fixed-height text. No absolute positioning for flowing content.
  5. Check every breakpoint after each change and confirm there's no horizontal scroll.
  6. Write realistic, niche-specific copy. Never lorem ipsum. Never real brand names or logos.
  7. Respect motion rules: Appear above the fold, no scroll effects there, blur < 10, consistent timing.
  8. Prefer native features over code. If code is necessary, follow 14.3 exactly and explain why.
  9. Fill SEO fields for every new page (title ≤ 60, description ≤ 155) and alt text for every meaningful image.
  10. Never add tracking scripts, ads, or creator promos inside the template's pages.
  11. Never use assets you can't license (Section 5.3). Log every new asset in the ledger.
  12. Don't invent Framer UI paths or features. If unsure, say "unverified" and point to the Help Center.
  13. Run Framer's audits (broken links, accessibility, inconsistent styling) and the relevant Skills Index skills before handing back.
  14. Report back with: what changed, which checklists were ticked, and anything left unresolved.
  15. Never publish the listing, change pricing, or send buyer emails without Maker's explicit go-ahead.

29. Unverified / Uncertain Claims#

Claim Status How to resolve
Listing image spec 4:3, min 1600×1200, exact ratio ⚠️ Stated by Framer staff on Reddit (Dec 2025, before the 3.0 relaunch). Not on an official doc page Check the uploader in the Community composer
Default breakpoints 1200 / 810 / 390 ⚠️ From Framer Community/lessons via search, not fetched from an official Help article Check a new project's breakpoint panel
Breakpoint-specific values inside text styles ⚠️ Believed supported. Not verified on an official page this session Check the text style editor
No native spacing tokens ⚠️ Unverified Check Assets panel / variables
Existing buyers don't receive template updates automatically 🧠 Inferred from "remix creates an exact copy." No official statement found Ask creators@framer.com
Form destinations on remix (does the creator's email carry over?) ⚠️ Unverified Test with a second account
Free-plan 5 MB upload limit affecting remixed assets ⚠️ The limit is official. Its effect on remixes is unverified Test
How discounted checkout prices interact with the "price must match" rule ⚠️ Not addressed in docs Ask creators@framer.com
Referral rate "50% for 12 months" ✅ Creators page says "up to 50%" and "50% of their subscription for 12 months". Help articles don't state the %, so treat it as subject to change Check Links tab / Dub
Merchant-of-Record status of Gumroad/Polar/Paddle/Contra ⚠️ Not verified this session Check each platform
Historical rejection reasons list 📊 From creator blogs (Holygrid) + community posts. Holygrid's Sep 2026 post still describes manual review, which is outdated Treat as a quality bar only
Market stats (48/day, $59 median, 55% free, 10k+ templates) 📊 Third-party trackers (Framer Labs, Steal What Works/Offset), not Framer Re-sample the Marketplace yourself before pricing
Revenue figures (Fabrica $200k+, Ehsan, Dmitrienko) 📊 Creator disclosures quoted on framer.com/creators + third-party analysis Indicative only
Ranking uses "purchases, likes, comments, account health" ⚠️ Third-party claim. Framer's official doc lists discovery, usage, conversion, continued use Trust the official doc
Framer University / creator blog teardowns ⚠️ Not individually fetched. Guidance here relies on official Framer + named sources —
Exact Framer menu labels (e.g., Site Settings → Versions, Insert → Forms) ✅ where cited. UI may shift after updates ("Some UI may differ" banners on Academy lessons) Re-check in the app
Built-in icon set names (Phosphor, Material, Feather) ⚠️ From general knowledge Check the Insert menu

🔎 Deep-dive verification updates (Oct 17, 2026)

Claim from the table above New status Evidence
Breakpoint-specific values inside text styles ✅ Verified Help: Setting Text Styles breakpoints (updated Mar 3, 2026): Breakpoints → Add Breakpoints adds Desktop (L), Tablet (M), Mobile (S)
Default breakpoints 1200 / 810 / 390 ✅ Desktop 1200 verified (Help: Using pages). Tablet 810 / Phone 390 confirmed by Framer staff on the Framer Community forum, not on a Help page Still check a new project's breakpoint bar
Deprecated controls (Image, SegmentedEnum, FusedNumber) ✅ Re-confirmed Developers: Property Controls
useIsStaticRenderer() for animated components ✅ Re-confirmed Developers: API Reference; Help: Prepare your component for review (Sep 15, 2026)

30. Sources#

Last verified: October 17, 2026. All links below were fetched during research unless noted.

Official — Framer Community / Marketplace (Help Center)#

Official — Blog & updates#

Official — Product docs#

Official — Framer Academy#

Added for the deep-dive sections (fetched Oct 17, 2026)#

Third-party (data, creator advice) 📊#

Contacts#


End of file. Update the "Last verified" date and re-check Section 29 whenever Framer ships a major release.