Website profiles · Technology insights · Alternatives

ui.aceternity.com Paid content

Categories: Development

Aceternity UI is a React component library with 200+ copy-paste components, blocks, and landing page templates built with Tailwind CSS and Motion.

Visit website

Updated: 2026-09-26 09:43 Language: English (default) Access: Normal

Profile views 0 Outbound visits 0
Aceternity UI — React & Tailwind CSS Component Library Full homepage screenshot

Related questions

More questions →
What Are React Components and How Do You Use Them?

A React component is a reusable piece of UI defined as a JavaScript function (or, historically, a class) that returns markup. You build an interface by composing many small components, passing data in through props and tracking change with state. If you're starting a project or adding to one, you'll usually write your own components for app-specific logic and pull in prebuilt ones from a library or registry for common UI like buttons, heroes, and cards. The sections below cover how components work, when to use which style, and how to add one and confirm it renders.

The core idea: a function that returns UI

A component takes an input object called props and returns what should appear on screen. State is data a component owns and can change over time; when it changes, React re-renders that component.

function Greeting({ name }) {
  return <h1>Hello, {name}</h1>;
}

// Used like an HTML tag:
<Greeting name="Ada" />

Two rules matter in practice:

  • Props flow down, events flow up. A parent passes data to a child via props; the child signals change by calling a function the parent handed it.
  • Components must be pure with respect to their inputs. Given the same props and state, they should render the same output. Side effects (fetching, subscriptions) belong in hooks like useEffect.

Function components vs. class components

Modern React uses function components with hooks. Class components still appear in older codebases and some libraries, so you should recognize them even if you don't write them.

Dimension Function component + hooks Class component
Syntax Plain function returning JSX class extends React.Component with a render() method
State useState, useReducer this.state and this.setState
Side effects useEffect Lifecycle methods (componentDidMount, etc.)
this binding Not applicable Requires binding or arrow methods
Current default Yes Legacy, still supported

If you're starting fresh, use function components. Reach for a class only when maintaining existing code or integrating a library that requires it.

Composition: build big UI from small pieces

The main way you scale a React app is by splitting UI into small components and combining them. Three patterns cover most cases:

  • Passing children lets a wrapper render whatever you nest inside it:
    function Card({ children }) {
      return <div className="card">{children}</div>;
    }
    <Card><Greeting name="Ada" /></Card>
    
  • Lifting state up means moving shared state to the closest common parent so two siblings can stay in sync, rather than duplicating it in each.
  • Keeping components focused — one component, one job — makes them easier to reuse and test.

Where prebuilt components come from

You rarely build everything yourself. Two distribution models dominate:

  • Package libraries ship compiled code you import from node_modules. You get updates by bumping a version, but you don't own or edit the source.
  • Registries and copy-in source give you the actual component file, which lands in your repo and becomes yours to edit. This is the model behind shadcn/ui conventions, where components are React + Tailwind source rather than an opaque dependency.

21st is a registry in the second category. Its library lists 12,000+ crafted React components, templates, and shadcn themes, organized into categories such as 2,000+ marketing blocks (animated heroes, shaders, backgrounds, footers) and 2,100+ UI components (buttons, AI chats, cards and grids, navigation, sign-ins). Components are attributed to named authors, and the site states they ship as prompts you can copy into your tooling — its examples show the same prompt producing a diff in Codex, a file in Claude Code, and a live preview in Lovable. The site also reports 25,431 installs in a week for one component and a builder count of 3,819,076, which gives a rough sense of activity rather than a quality guarantee.

Because these components are source you place in your project, the trade-off is the reverse of a package library: you can edit anything, but you also own maintenance and updates.

Adding a component to your project and verifying it

The exact command depends on the registry, but the shape of the task is consistent. Using a copy-in component as the example:

  1. Confirm prerequisites. You need a React project with Tailwind and the cn utility (a class-merging helper) available, since registry components typically import from @/lib/utils.
  2. Get the source. Either run the registry's install command or paste the component's prompt into your AI tool so it writes the file into your components directory. Expect a new file such as components/ui/shimmer-button.tsx.
  3. Import and render it. Add the import to a page and place the component in the tree.
  4. Verify. Run your dev server and check that the component appears and responds to interaction. If the registry ships a preview, compare against it.

A minimal check after install:

import { ShimmerButton } from "@/components/ui/shimmer-button";

export default function Page() {
  return <ShimmerButton>Get started →</ShimmerButton>;
}

If it renders and the hover/interaction behavior matches the preview, the install succeeded.

Troubleshooting common problems

  • Missing imports or unresolved @/ paths. The @ alias must be configured in your bundler or tsconfig. If the component imports @/lib/utils and that file doesn't exist, create it or fix the alias.
  • Prop type errors. If the component expects a required prop and you omit it, you'll get a warning or a crash. Check the component's signature and pass what it declares.
  • Styling looks wrong. Registry components assume Tailwind is set up and that your theme tokens (colors, radii) exist. Missing Tailwind config or theme variables produce unstyled output rather than an error.
  • Excessive re-renders. A component re-rendering on every keystroke or parent update usually means state lives too high or a new object/function is created each render. Move state closer to where it's used, or memoize with useMemo/useCallback when profiling shows it matters.
  • "Hooks can only be called inside a component." You called a hook at the top level of a module or inside a condition. Hooks must run unconditionally at the top of a component or custom hook.

Choosing between writing and installing

Write your own component when the logic is specific to your app, when you need tight control over behavior, or when a library's abstraction would fight your design. Install from a registry when the UI is generic (buttons, heroes, cards), when you want to read and edit the source, and when you're comfortable owning updates. Use a package library instead when you'd rather receive fixes automatically and don't need to modify internals. The right choice depends on how much control versus maintenance you want — not on which option is universally better.

Website Overview

Page metadata, canonical configuration and social previews work together to provide more consistent search and sharing presentation.

Domain and Registration

Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The domain has about 4 years of registration history; its current configuration provides more context than age alone. The registrar is GoDaddy.com, LLC, a widely used domain service provider. The domain uses the common .com extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by Cloudflare, indicating managed DNS hosting. MX records point to the Google Workspace email service. CAA records restrict which certificate authorities are authorized to issue certificates. No CNAME was found; the observed records resolve directly to addresses. SPF and DMARC are configured. DKIM status is unknown.

TLS and Certificates

The certificate uses an RSA 2048-bit public key, offering broad client compatibility. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued by Let's Encrypt, commonly associated with automated certificate services. The certificate's total validity is about 89 days, consistent with a short renewal cycle.

HTTP and Browser Security

The response lacks these common security headers: CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, clickjacking protection. CORS permits any origin to read this response. This is common for public resources; sensitive responses need narrower handling. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. No obvious internal addresses or debug information were found in the headers. The Server header contains the custom value Vercel.

Technology Stack Analysis

The public page identifies Next.js, Tailwind CSS, Vercel without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

Twitter Card metadata is configured. JSON-LD includes Organization data, helping describe the organization as an entity. The title has 54 characters, within a common display range. A meta description is present, with 146 characters. The observed directives allow indexing and link following.

Hosting and Email

DNSCloudflare
HostingVercel
EmailGoogle Workspace
Location United States flagWalnut, California, United States 76.76.21.123

User reviews (0)

  • No reviews yet.

Pages, Search and Sharing

Meta descriptionAceternity UI is a React component library with 200+ copy-paste components, blocks, and landing page templates built with Tailwind CSS and Motion.
Canonical URLhttps://ui.aceternity.com
LanguageEnglish (default)
Twitter Cardsummary_large_image
All bots 2 allowed · 11 disallowed
  • Allow/
  • Allow/api/components
  • Disallow/api/
  • Disallow/admin/
  • Disallow/dashboard/
  • Disallow/login/
  • Disallow/profile/
  • Disallow/orders/
  • Disallow/testing-playground/
  • Disallow/preview/
  • Disallow/live-preview/
  • Disallow/success/
  • Disallow/pricing-bak
gptbot 1 allowed · 0 disallowed
  • Allow/
oai-searchbot 1 allowed · 0 disallowed
  • Allow/
chatgpt-user 1 allowed · 0 disallowed
  • Allow/
claudebot 1 allowed · 0 disallowed
  • Allow/
claude-user 1 allowed · 0 disallowed
  • Allow/
claude-searchbot 1 allowed · 0 disallowed
  • Allow/
anthropic-ai 1 allowed · 0 disallowed
  • Allow/
perplexitybot 1 allowed · 0 disallowed
  • Allow/
perplexity-user 1 allowed · 0 disallowed
  • Allow/
google-extended 1 allowed · 0 disallowed
  • Allow/
applebot 1 allowed · 0 disallowed
  • Allow/
applebot-extended 1 allowed · 0 disallowed
  • Allow/
bingbot 1 allowed · 0 disallowed
  • Allow/
duckassistbot 1 allowed · 0 disallowed
  • Allow/
cohere-ai 1 allowed · 0 disallowed
  • Allow/
meta-externalagent 1 allowed · 0 disallowed
  • Allow/
mistralai-user 1 allowed · 0 disallowed
  • Allow/
amazonbot 1 allowed · 0 disallowed
  • Allow/
youbot 1 allowed · 0 disallowed
  • Allow/

Registration details RDAP / WHOIS

RegistrarGoDaddy.com, LLC
Registered2022-09-03
Expires2027-09-03
Domain statusclient delete prohibited、client renew prohibited、client transfer prohibited、client update prohibited
Nameserversagustin.ns.cloudflare.com、alexa.ns.cloudflare.com
DNSSECunsigned

DNS records

TypeNameValueTTLPriority
Aui.aceternity.com76.76.21.123300—
Aui.aceternity.com76.76.21.9300—
MXaceternity.comsmtp.google.com3001
MXaceternity.com3y2yqvcyh5silipzj6vvdyawj66zykase2osriiul3poc7awzooq.mx-verification.google.com30015
NSaceternity.comagustin.ns.cloudflare.com86400—
NSaceternity.comalexa.ns.cloudflare.com86400—
TXTaceternity.comgoogle-site-verification=CmwNIUiczltIFUKlY_-b0pzTqq1UbWme5078mcqXShQ300—
TXTaceternity.comgoogle-site-verification=TctieT4e37AbEtQ_4Ak9U3Ju3owRU5Oy6iUyq3QTQ9I300—
TXTaceternity.comv=spf1 include:_spf.google.com ~all300—
CAAaceternity.com0 issue "comodoca.com"3600—
CAAaceternity.com0 issue "digicert.com; cansignhttpexchanges=yes"3600—
CAAaceternity.com0 issue "letsencrypt.org"3600—
CAAaceternity.com0 issue "pki.goog; cansignhttpexchanges=yes"3600—
CAAaceternity.com0 issue "ssl.com"3600—
CAAaceternity.com0 issuewild "comodoca.com"3600—
CAAaceternity.com0 issuewild "digicert.com; cansignhttpexchanges=yes"3600—
CAAaceternity.com0 issuewild "letsencrypt.org"3600—
CAAaceternity.com0 issuewild "pki.goog; cansignhttpexchanges=yes"3600—
CAAaceternity.com0 issuewild "ssl.com"3600—
DMARC_dmarc.aceternity.comv=DMARC1; p=quarantine; pct=100; rua=mailto:[email protected]300—

TLS and certificates

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectui.aceternity.com
IssuerLet's Encrypt
Valid until2026-11-20T01:07 · Remaining when checked: 54 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HeaderValue
content-typetext/html; charset=utf-8
cache-controlpublic, max-age=0, must-revalidate
serverVercel
strict-transport-securitymax-age=63072000
access-control-allow-origin*

Identified technologies

Next.jsTailwind CSSVercel

Recent Updates

  • Website images
  • Screenshots
  • Network details
  • Website Technologies
  • Pages and Search Information
  • HTTP Response Information
  • TLS and certificates
  • DNS Information
  • Domain Registration
  • Website profile
  • Website Description
  • Website Name