<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <!-- Primary Meta Tags -->
    <title>React to Framer — Convert React Components to Framer Code Components</title>
    <meta name="title" content="React to Framer — Convert React Components to Framer Code Components" />
    <meta name="description" content="Convert any React project into production-ready Framer code components with real property controls, slots, color pickers, and responsive design. AI-powered conversion in seconds." />
    <meta name="keywords" content="React to Framer, convert React to Framer, Framer code components, React Framer converter, Framer property controls, React migration Framer, Framer design system, code component converter" />
    <meta name="author" content="React to Framer" />
    <meta name="robots" content="index, follow" />
    <meta name="language" content="en" />
    <meta name="revisit-after" content="7 days" />

    <!-- Favicon -->
    <link rel="icon" type="image/svg+xml" href="/favicon.svg" />

    <!-- Canonical URL -->
    <link rel="canonical" href="https://cyclara.me/" />

    <!-- Open Graph / Facebook -->
    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://cyclara.me/" />
    <meta property="og:title" content="React to Framer — Convert React Components to Framer Code Components" />
    <meta property="og:description" content="Convert any React project into production-ready Framer code components with real property controls, slots, and responsive design." />
    <meta property="og:site_name" content="React to Framer" />
    <meta property="og:locale" content="en" />

    <!-- Twitter -->
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:url" content="https://cyclara.me/" />
    <meta name="twitter:title" content="React to Framer — Convert React Components to Framer Code Components" />
    <meta name="twitter:description" content="Convert any React project into production-ready Framer code components with real property controls and responsive design." />

    <!-- Fonts -->
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />

    <!-- JSON-LD: Organization -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "SoftwareApplication",
      "@id": "https://cyclara.me/#app",
      "name": "React to Framer",
      "alternateName": "React to Framer Converter",
      "url": "https://cyclara.me",
      "description": "AI-powered tool that converts React projects into production-ready Framer code components with full property controls, slots, responsive images, and design system integration.",
      "applicationCategory": "DeveloperApplication",
      "operatingSystem": "Web",
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "USD",
        "name": "Free React to Framer Converter"
      },
      "featureList": [
        "ControlType.Color integration with Framer color styles",
        "ControlType.Link with Framer page picker",
        "ControlType.ResponsiveImage with srcSet support",
        "ControlType.Slot for drag-and-drop content areas",
        "ControlType.Array for repeatable content lists",
        "Grouped property controls with ControlType.Object",
        "Conditional controls with hidden() functions",
        "Self-contained components with inline styles",
        "Responsive design with width-aware layouts",
        "Full TypeScript support"
      ],
      "softwareHelp": {
        "@type": "CreativeWork",
        "url": "https://cyclara.me/guides"
      }
    }
    </script>

    <!-- JSON-LD: WebSite -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "@id": "https://cyclara.me/#website",
      "name": "React to Framer",
      "url": "https://cyclara.me",
      "description": "The #1 tool for converting React projects into Framer-native code components",
      "publisher": {
        "@type": "Organization",
        "name": "React to Framer"
      },
      "inLanguage": "en",
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://cyclara.me/glossary/{search_term}"
        },
        "query-input": "required name=search_term"
      }
    }
    </script>

    <!-- JSON-LD: FAQ -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {"@type": "Question", "name": "What is React to Framer?", "acceptedAnswer": {"@type": "Answer", "text": "React to Framer is an AI-powered tool that converts React components and full React projects into production-ready Framer code components. Unlike simple code converters, it generates components with full Framer property controls (color pickers, link controls, image pickers, content slots, arrays) that integrate deeply with Framer's visual editor."}},
        {"@type": "Question", "name": "How does React to Framer differ from copy-pasting code?", "acceptedAnswer": {"@type": "Answer", "text": "Copy-pasting React code into Framer creates black-box components that designers can't customize. React to Framer generates Framer-native components with ControlType.Color for colors, ControlType.Link for navigation, ControlType.Slot for content areas, and ControlType.Array for repeatable items — making every aspect editable from Framer's property panel."}},
        {"@type": "Question", "name": "Which React frameworks does it support?", "acceptedAnswer": {"@type": "Answer", "text": "React to Framer supports all major React frameworks including Next.js, Gatsby, Vite, Create React App, and Remix. It also handles Tailwind CSS, CSS Modules, Styled Components, and Emotion — converting them all to Framer-compatible inline styles."}},
        {"@type": "Question", "name": "Is React to Framer free to use?", "acceptedAnswer": {"@type": "Answer", "text": "Yes, React to Framer is free to use. You just need your own Anthropic API key (Claude) for the AI-powered conversion. The tool itself has no subscription fees or usage limits."}},
        {"@type": "Question", "name": "What Framer control types does it generate?", "acceptedAnswer": {"@type": "Answer", "text": "React to Framer generates components using all Framer control types: ControlType.Color, ControlType.Link, ControlType.ResponsiveImage, ControlType.Slot, ControlType.Array, ControlType.Object, ControlType.Enum, ControlType.Number, ControlType.Boolean, ControlType.String, ControlType.Font, and ControlType.EventHandler."}},
        {"@type": "Question", "name": "Can I convert entire React projects or just single components?", "acceptedAnswer": {"@type": "Answer", "text": "Both! React to Framer can convert individual components or entire React projects. For large projects, it automatically batches files and generates a complete set of Framer code components — each self-contained with no inter-file dependencies."}},
        {"@type": "Question", "name": "How do I use the converted components in Framer?", "acceptedAnswer": {"@type": "Answer", "text": "After conversion, go to Framer's Assets panel, click '+', select 'Code Component', create a new file, paste the generated code, and save. The component will appear in your asset library with full property controls in the right panel. Drag it onto your canvas to use it."}}
      ]
    }
    </script>

    <!-- JSON-LD: HowTo -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "HowTo",
      "name": "How to Convert React Components to Framer Code Components",
      "description": "Step-by-step guide to converting your React project into production-ready Framer code components with full property controls.",
      "totalTime": "PT5M",
      "step": [
        {"@type": "HowToStep", "position": 1, "name": "Open your React project", "text": "Click 'Open React Project' and select your project folder. The tool will scan all source files (.tsx, .jsx, .css, .scss, .json) and display them in the file tree."},
        {"@type": "HowToStep", "position": 2, "name": "Select files to convert", "text": "Review the file list and select the components you want to convert. The tool auto-selects relevant files and excludes config files, tests, and type definitions."},
        {"@type": "HowToStep", "position": 3, "name": "Convert with AI", "text": "Click 'Convert' to start the AI-powered conversion. The tool sends your code to Claude, which analyzes the components and generates Framer-native code with proper property controls."},
        {"@type": "HowToStep", "position": 4, "name": "Paste into Framer", "text": "Copy each generated component and paste it into Framer: Assets → + → Code Component → New File → Paste → Save. Each component will have full property controls in Framer's right panel."}
      ]
    }
    </script>

    <!-- JSON-LD: ItemList for Frameworks -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "ItemList",
      "name": "Supported React Frameworks",
      "itemListElement": [
        {"@type": "ListItem", "position": 1, "name": "Next.js to Framer", "url": "https://cyclara.me/convert/nextjs"},
        {"@type": "ListItem", "position": 2, "name": "Gatsby to Framer", "url": "https://cyclara.me/convert/gatsby"},
        {"@type": "ListItem", "position": 3, "name": "Vite React to Framer", "url": "https://cyclara.me/convert/vite"},
        {"@type": "ListItem", "position": 4, "name": "Create React App to Framer", "url": "https://cyclara.me/convert/cra"},
        {"@type": "ListItem", "position": 5, "name": "Remix to Framer", "url": "https://cyclara.me/convert/remix"},
        {"@type": "ListItem", "position": 6, "name": "Astro React to Framer", "url": "https://cyclara.me/convert/astro"}
      ]
    }
    </script>

    <!-- JSON-LD: ItemList for Component Types -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "ItemList",
      "name": "Framer Component Conversion Guides",
      "itemListElement": [
        {"@type": "ListItem", "position": 1, "name": "Convert Hero Sections to Framer", "url": "https://cyclara.me/components/hero"},
        {"@type": "ListItem", "position": 2, "name": "Convert Navigation to Framer", "url": "https://cyclara.me/components/navbar"},
        {"@type": "ListItem", "position": 3, "name": "Convert Pricing Tables to Framer", "url": "https://cyclara.me/components/pricing"},
        {"@type": "ListItem", "position": 4, "name": "Convert Feature Grids to Framer", "url": "https://cyclara.me/components/features"},
        {"@type": "ListItem", "position": 5, "name": "Convert Testimonials to Framer", "url": "https://cyclara.me/components/testimonials"},
        {"@type": "ListItem", "position": 6, "name": "Convert FAQ Sections to Framer", "url": "https://cyclara.me/components/faq"},
        {"@type": "ListItem", "position": 7, "name": "Convert Footers to Framer", "url": "https://cyclara.me/components/footer"},
        {"@type": "ListItem", "position": 8, "name": "Convert Cards to Framer", "url": "https://cyclara.me/components/cards"}
      ]
    }
    </script>

    <!-- Noscript fallback for crawlers -->
    <noscript>
      <meta http-equiv="refresh" content="0;url=https://cyclara.me/" />
    </noscript>
    <script type="module" crossorigin src="/assets/index-Bj6_YpT7.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-COnpUsM8.js">
    <link rel="modulepreload" crossorigin href="/assets/animation-BXDn6AD7.js">
    <link rel="modulepreload" crossorigin href="/assets/vendor-BMWAo1g2.js">
    <link rel="stylesheet" crossorigin href="/assets/index-D7J5IWsd.css">
  </head>
  <body>
    <div id="root">
      <div id="static-fallback" style="font-family: system-ui, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px;">
        <header>
          <h1>React to Framer — Convert React Components to Framer Code Components</h1>
          <p>AI-powered tool that converts React projects into production-ready Framer code components with full property controls, slots, responsive images, and design system integration.</p>
        </header>
        <main>
          <section>
            <h2>Stop Copy-Pasting React Code Into Framer</h2>
            <p>React to Framer generates true Framer-native components — not black boxes. Every color uses ControlType.Color, every link uses ControlType.Link, every image uses ControlType.ResponsiveImage, and content areas use ControlType.Slot for drag-and-drop editing.</p>
          </section>
          <section>
            <h2>How It Works</h2>
            <ol>
              <li>Open your React project folder</li>
              <li>Select components to convert</li>
              <li>AI converts to Framer code components</li>
              <li>Paste into Framer and customize visually</li>
            </ol>
          </section>
          <section>
            <h2>Supported Frameworks</h2>
            <ul>
              <li><a href="/convert/nextjs">Next.js to Framer</a></li>
              <li><a href="/convert/gatsby">Gatsby to Framer</a></li>
              <li><a href="/convert/vite">Vite React to Framer</a></li>
              <li><a href="/convert/cra">Create React App to Framer</a></li>
              <li><a href="/convert/remix">Remix to Framer</a></li>
              <li><a href="/convert/astro">Astro React to Framer</a></li>
            </ul>
          </section>
          <section>
            <h2>Component Types</h2>
            <ul>
              <li><a href="/components/hero">Hero Sections</a></li>
              <li><a href="/components/navbar">Navigation Bars</a></li>
              <li><a href="/components/pricing">Pricing Tables</a></li>
              <li><a href="/components/features">Feature Grids</a></li>
              <li><a href="/components/testimonials">Testimonials</a></li>
              <li><a href="/components/faq">FAQ Sections</a></li>
              <li><a href="/components/footer">Footers</a></li>
              <li><a href="/components/cards">Cards</a></li>
            </ul>
          </section>
          <section>
            <h2>CSS Framework Support</h2>
            <ul>
              <li><a href="/integrations/tailwind">Tailwind CSS to Framer</a></li>
              <li><a href="/integrations/styled-components">Styled Components to Framer</a></li>
              <li><a href="/integrations/css-modules">CSS Modules to Framer</a></li>
              <li><a href="/integrations/chakra-ui">Chakra UI to Framer</a></li>
              <li><a href="/integrations/material-ui">Material UI to Framer</a></li>
              <li><a href="/integrations/shadcn">shadcn/ui to Framer</a></li>
            </ul>
          </section>
          <section>
            <h2>Frequently Asked Questions</h2>
            <dl>
              <dt>What is React to Framer?</dt>
              <dd>React to Framer is an AI-powered tool that converts React components into production-ready Framer code components with full property controls.</dd>
              <dt>How does it differ from copy-pasting code?</dt>
              <dd>Copy-pasting creates black boxes. React to Framer generates Framer-native components with color pickers, link controls, image pickers, content slots, and arrays.</dd>
              <dt>Which React frameworks does it support?</dt>
              <dd>Next.js, Gatsby, Vite, Create React App, Remix, and Astro. It also handles Tailwind CSS, CSS Modules, Styled Components, and Emotion.</dd>
              <dt>Is it free?</dt>
              <dd>Yes, you just need your own Anthropic API key for the AI conversion.</dd>
            </dl>
          </section>
          <section>
            <h2>Glossary</h2>
            <ul>
              <li><a href="/glossary/control-type">ControlType</a> — Framer's property control system</li>
              <li><a href="/glossary/code-component">Code Component</a> — Custom React components in Framer</li>
              <li><a href="/glossary/property-controls">Property Controls</a> — UI controls in Framer's right panel</li>
              <li><a href="/glossary/responsive-image">ResponsiveImage</a> — Framer's image control with srcSet</li>
              <li><a href="/glossary/slot">Slot</a> — Drag-and-drop content areas in Framer</li>
            </ul>
          </section>
          <footer>
            <p>&copy; 2026 React to Framer. All rights reserved.</p>
          </footer>
        </main>
      </div>
    </div>
  </body>
</html>
