Plasmic is a free, open source design & prototyping project written in TypeScript and released under MIT. It has 7,022 GitHub stars, 719 forks and 44 open issues, and was last pushed 16 hours ago. On this registry it ranks #3 of 5 tracked projects in Design & Prototyping, with 5 head-to-head comparisons available. It gained 16 stars over the last 6 tracked days.

What is Plasmic?

Plasmic is an open-source, MIT-licensed visual builder for React that integrates with an existing codebase, aimed at developers and at the marketing, design, and technical users who build alongside them.

What it is

Plasmic is a visual builder for the web that lives inside the React and TypeScript frontend ecosystem, with stated support for Next.js, Gatsby, and Jamstack and headless-CMS architectures. It lets teams drag and drop their own React components onto a canvas, build new screens visually, and publish those screens back into applications that are otherwise written in code. Design work and code work are woven together rather than kept in separate files, and the platform itself is open source, so it can be forked and controlled.

The concrete problem it solves is the complexity ceiling of low-code tools. Site builders typically limit teams to a built-in ecommerce platform, CMS, or hosting provider, and tool builders rarely accept the components a codebase already has. Plasmic replaces that trade-off by importing existing components as first-class building blocks, exposing abstractions such as components, variants, slots, and composable state management, and allowing deeper extension and customization of Plasmic Studio from the codebase. The README frames the goal as unifying genres that are usually separate tools — site builders, tool builders, no-code app builders, and CMSes — because the boundary between a website and an application is blurry.

Key capabilities

  • Drag and drop existing React components into the builder, publish screens into an existing application, and extend or customize Plasmic Studio.
  • Import designs from Figma, translating its proprietary vector document format into DOM and CSS.
  • Build with composition primitives including components, variants, slots, and composable state management, plus rich stateful interactions and behavior.
  • Use customizable headless design system components powered by react-aria.
  • Restrict editing scope with content creator mode, which gives selected collaborators a simplified experience with design guardrails.
  • Connect arbitrary data sources and backend integrations, and choose your own CMS, ecommerce platform, and hosting provider.
  • Codegen for page performance, including static site generation, automatic image optimization, and layout shift reduction.
  • Deploy, host, or export anywhere, including Vercel and Netlify.
  • Support end-user authentication and permissions, including RBAC and user-scoped permissions.
  • Collaborate with multiplayer editing, branching, cross-project imports, and multi-workspace organizations.

Who uses it and how

  • Marketing teams drag and drop a company's own React components to assemble landing pages inside a Next.js website, working within design guardrails instead of editing code.
  • Developers and technical users build internal tools, client portals, and business software visually, then keep those screens in the same codebase as the rest of the application.
  • Headless commerce teams build storefronts on their own backend, as shown in the Shopify headless storefront demo at commerce.plasmic.run.
  • Jamstack and headless CMS adopters keep content editing visual while retaining their existing CMS and hosting, as in the Vercel marketing page demo and the Apple.com demo.
  • Larger organizations use multi-workspace organizations, branching, and cross-project imports to coordinate several projects and contributors.

Getting started

Use the hosted builder at https://www.plasmic.app and follow the quickstart at https://www.plasmic.app/learn/quickstart/, then deploy, host, or export the output anywhere, including Vercel and Netlify.

How it compares

The README places Plasmic alongside Webflow, WordPress, and other site builders, Retool and other tool builders, Glide and other no-code app builders, and Contentful and other CMSes, treating those as separate genres to specialize in. Plasmic's claim is that it unifies them in one UI that adapts to different levels of control for different personas, and that unlike those tools it integrates with codebases so low-code can scale past the complexity ceiling. It is also open source under MIT, so the platform can be forked and controlled.

When to use it — and when not to

Plasmic fits teams with an existing React codebase that want visual editing of real components rather than a separate site or app silo. Anyone planning to self-host should note that the README excerpt does not describe the backing services required to run the platform, such as a database, object storage, or mail delivery, so that operational surface must be worked out from the documentation before committing. Teams outside React should look elsewhere, and the repository shows 44 open issues and a sparse README whose excerpt lists features and links rather than installation or self-hosting steps.

project readme (upstream, from github) — read inline

Plasmic

Plasmic

The open-source visual builder for your codebase.

Build beautiful apps and websites incredibly fast.

Drag and drop your own components, integrate with your codebase.

Break through the low-code ceiling.

 

License Types code style: prettier PRs Welcome

Quick links

See Plasmic in action

What is Plasmic?

Plasmic is a visual builder for the web.

It enables rapidly designing and building applications and websites--code optional.

Main use cases:

  • Content management: let marketing drag/drop your React components to build landing pages in your Next.js website, with design guardrails

  • Applications: let developers and technical users quickly build internal tools, client portals, and business software

  • Website builder and design tool that doesn’t limit you to some built-in ecommerce platform, CMS, or hosting

Plasmic is powerful, with a deep feature set that scales to complex projects. And with codebase integration, it removes the ceiling typically associated with low-code tools.

What makes Plasmic special?

Plasmic combines some seemingly disparate genres:

  • Webflow, Wordpress and other site builders
  • Retool and other tool builders
  • Glide and no-code app builders
  • Contentful and other CMSes

Today these are different tools to specialize in, but the line between, say, a website and an application is blurry (consider an ecommerce storefront with user logins). With the right foundations, we think these can be unified—Plasmic’s UI can adapt to different levels of control for different personas/tasks.

But more importantly, unlike existing tools, Plasmic integrates with codebases. This is critical to making low-code scale past the complexity ceiling that all such tools (including Plasmic) have. You can drag and drop existing complex React components, and you can visually create new UIs/components within traditionally-coded applications, seamlessly weaving code and no-code.

Some feature highlights:

  • Full design freedom and speedy modern design tool UX.
  • Integrate with codebases to drag/drop existing React components, publish screens into existing applications, and extend/customize Plasmic Studio.
  • Create rich stateful interactions and behavior.
  • Connect with arbitrary data source and backend integrations.
  • Powerful abstractions like components, variants, slots, composable state management, and more that promote composition and let you build and maintain at scale.
  • Customizable headless design system components powered by react-aria.
  • Content creator mode: give specific collaborators a more simplified editing experience with design guardrails.
  • Open integrations: choose your own CMS, ecommerce platform, hosting provider, and more.
  • Deep collaboration with multiplayer, branching, cross-project imports, and multi-workspace organizations.
  • Import designs from Figma, translating its proprietary vector document format into DOM/CSS.
  • Page performance and high-quality codegen. Supports static site generation, automatic image optimization, layout shift reduction, and more.
  • Deploy/host/export anywhere, including Vercel, Netlify, or any hosting provider.
  • End-user auth and permissions, including RBAC and user-scoped permissions.
  • Open-source platform that you can always fork and control.

Learn more on our website and our docs. Or check out comparisons of Plasmic vs other tools.

How do I integrate Plasmic as a CMS?

This is one popular use case of Plasmic.

Step 1. Install Plasmic into your codebase (exact package depends on your framework).

npm install @plasmicapp/loader-nextjs

Step 2 (optional). Make components from your app or design system available for drag-and-drop in the visual editor:

// Take any component from your app or design system...
export default function HeroSection({ children }) {
  return <div className="hero-section">{children}</div>;
}

// ...and make it available for drag-and-drop, along with any props you want to
// expose.
PLASMIC.registerComponent(HeroSection, {
  props: {
    children: "slot",
  },
});

Step 3. Add placeholders that render pages/components made in the visual editor anywhere in your app:

// pages/index.tsx

import {
  PlasmicComponent,
  PlasmicRootProvider,
} from "@plasmicapp/loader-nextjs";
import { PLASMIC } from "../plasmic-init";

// Here we fetch dynamically on the client, but you can also fetch and render
// components server-side in SSG/SSR frameworks, such as via getStaticProps
// in Next.js.
export default function IndexPage() {
  return (
    <PlasmicRootProvider plasmic={PLASMIC}>
      <PlasmicComponent component="Summer22LandingPage" />
    </PlasmicRootProvider>
  );
}

Step 4. Non-developers (or developers!) can now create new pages, sections, or components that ship directly into the app/website.

Step 5. When you hit Publish, changes get picked up via webhooks that trigger rebuilds, or more specific mechanisms such as incremental static revalidation or dynamic fetching from the Plasmic CDN.

Who uses Plasmic?

Plasmic is used by companies ranging from Fortune 500s to boutique brands to solo makers. It's used for websites ranging from headless commerce storefronts to marketing websites to logged-in app content.

Check out the Case Studies and Community Showcase.

Customer logos

Showcase

How does Plasmic work?

How codebase integration works

Note: you do not need to integrate Plasmic with a codebase. This is core to using Plasmic as a CMS, but you can build complete apps and websites without this, entirely within Plasmic.

Read the full technical overview.

Bring your own React components

You can register your own arbitrary custom React components for use as building blocks within Plasmic Studio. Learn more about code components.

Codegen

Besides the Headless API, you can also generate React code into your codebase. This is a powerful way to use Plasmic as a UI builder for creating rich interactive web applications—one example of this

readme truncated — read the full docs on github

Frequently asked questions

Is Plasmic free to use?

Plasmic is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Plasmic do?

Visual app builder that integrates with your existing codebase

What is Plasmic written in?

Plasmic is primarily written in TypeScript. Its source is publicly available at https://github.com/plasmicapp/plasmic, and it has 7,022 GitHub stars.