Radix UI vs Base UI: o que muda no Shadcn em 2026
Desde julho de 2026, Shadcn usa Base UI por padrão em projetos novos. Radix continua suportado. Compare APIs, performance e quando migrar.
Por que isso é importante
Em projetos novos, o debate Radix UI vs Base UI ficou prático: desde julho de 2026 o Shadcn adotou Base UI como padrão. Radix UI continua suportado — apps estáveis em Radix não precisam migrar só por moda. Migre componente a componente quando API, manutenção ou init default pedirem.
Radix UI hoje no debate vs Base UI
No confronto Radix UI vs Base UI, Radix ainda é o stack maduro de primitivos acessíveis (accessibility) e unstyled em milhares de apps Shadcn. Em 2026 a dúvida não é “Radix parou de funcionar” — é sustentabilidade e o fato de o default do Shadcn ter mudado para Base UI.
Análise de Manutenção Radix UI
Ritmo de commits: percepção de desaceleração na comunidade em 2025–2026 (sem métrica oficial pública consolidada)
Issues e releases: intervalos e backlog variam por pacote; avalie o repositório atual antes de migrar
Roadmap: comunicação menos previsível que o de bases mantidas ativamente pelo Shadcn
Posição oficial do Shadcn (jul/2026): Radix permanece suportado; não há depreciação anunciada
Apesar dos sinais preocupantes, Radix UI continua sendo uma biblioteca madura, testada em produção por milhares de aplicações. A preocupação não é sobre funcionalidade atual, mas sobre sustentabilidade futura.
Base UI: O Novo Default do Shadcn
Base UI (ecossistema MUI) é o default do Shadcn em projetos novos desde julho de 2026: mesmos objetivos de primitivos acessíveis e unstyled (headless UI React), com API próxima o bastante de quem veio do Radix (hoje no radar WorkOS). Para ficar no Radix UI / Shadcn legado, use a flag de init da CLI quando fizer sentido.
Radix UI
Pioneiro em primitivos React acessíveis
Prós
- Ecossistema maduro e testado
- Compatibilidade total com Shadcn UI
- Documentação completa
- Ampla adoção na comunidade
- APIs estáveis e consistentes
Contras
- Manutenção irregular
- Roadmap indefinido
- Questões de sustentabilidade
- Menos novos recursos
Base UI
Default do Shadcn em projetos novos (desde jul/2026)
Prós
- Default oficial do Shadcn em projetos novos
- Manutenção ativa e releases frequentes
- API similar facilitando migração
- Performance otimizada
- Suporte TypeScript nativo
Contras
- Histórico mais curto que o Radix em produção
- Ecossistema ainda em consolidação
- Migração de apps Radix não é automática
- Alguns padrões exigem reaprendizado pontual
Comparação Técnica Detalhada
Ambas as bibliotecas seguem filosofias similares, mas Base UI oferece melhorias arquiteturais e de performance que podem ser decisivas para projetos futuros.
Performance e Bundle Size
Base UI foi projetado com foco em performance desde o início. Comparações de bundle e renderização dependem do componente e do app — meça no seu projeto em vez de tratar percentuais genéricos como verdade universal.
O que dá para afirmar com segurança
Compatibilidade de APIs
A semelhança entre as APIs facilita migração gradual. Base UI mantém padrões familiares do Radix UI, reduzindo curva de aprendizado e esforço de refatoração.
asChild vs render: o que muda na migração
Em vários componentes Radix, composição com filhos usa asChild + Slot. No Base UI, o equivalente documentado é a prop render (via composição /useRender). Ao migrar Dialog, Select ou ToggleGroup, revise cada ponto em que você sobrescreve o elemento de DOM — não só os imports. A CLI/skill oficial de migração do Shadcn trata asChild → render como mudança mecânica; comportamento (focus, mount) exige smoke test.
Padrão ilustrativo (nomes de subcomponentes podem variar entre pacotes — confira a aba Base UI em ui.shadcn.com):
// Radix — DialogTrigger com asChild
<DialogTrigger asChild>
<Button>Abrir</Button>
</DialogTrigger>
// Base UI — equivalente com render
<DialogTrigger render={<Button>Abrir</Button />} />
// Radix — Select com trigger custom
<SelectTrigger asChild>
<Button variant="outline">Escolher</Button>
</SelectTrigger>
// Base UI — compose via render no trigger/parte equivalente
<SelectTrigger render={<Button variant="outline">Escolher</Button />} />
// ToggleGroup: revise value/multiple — Base UI tipa seleção de forma mais estrita
// (ex.: value como array + flag multiple). Não assuma copy-paste cego do Radix.
asChild e imports @radix-ui/* diretos no appforceMount vs equivalentes Base (keepMounted etc.)nativeButton na doc Base UIÁrvore de decisão: Radix ou Base UI?
Use esta árvore antes de planejar refatoração. O default oficial do Shadcn (jul/2026) aponta Base UI para projetos novos; Radix permanece suportado.
npx shadcn init? → Siga o default Base UI, a menos que o time documente opt-in -b radix.Estratégia de Migração para Shadcn UI
O Shadcn reconstruiu os componentes para Base UI e mantém Radix suportado em paralelo. Você não precisa migrar apps estáveis: a orientação oficial é manter o que funciona e usar Base UI em projetos novos. Quando houver motivo concreto, a migração pode ser gradual, componente por componente — veja também o panorama da dependência Shadcn/Radix, o roadmap do Shadcn UI e o tutorial completo de Shadcn UI.
A vantagem do Shadcn UI é que você possui o código. Isso permite migração controlada sem quebrar funcionalidades existentes.
Roadmap e Cronograma 2026
Base UI já está estável e, desde julho de 2026, é o default do Shadcn em projetos novos. Radix segue suportado; docs e updates continuam para as duas bases. Migrar apps existentes só faz sentido com motivo específico — estabilidade em produção continua válida.
O que mudou em 2026
Jul/2026: Base UI vira default em npx shadcn init e no shadcn/create
Docs: páginas de componente abrem na aba Base UI; Radix a um clique
Radix: permanece suportado; use -b radix para optar em projetos novos
Apps existentes: sem obrigação de migrar se o Radix atende o produto
O posicionamento oficial é conservador: default novo, sem forçar troca em produção. Isso dá tempo para validar Base UI sem risco desnecessário em apps maduros.
Ferramentas e Recursos
Recomendação prática para freela e SaaS
A decisão entre Radix UI e Base UI depende do contexto do projeto. Para aplicações existentes estáveis no Radix, mantenha o que funciona. Para projetos novos em 2026, o default do Shadcn aponta para Base UI — Radix continua disponível se preferir.
Projetos Existentes
Mantenha Radix UI se o projeto está estável e em produção. Migração sem motivo claro pode introduzir bugs desnecessários.
Novos Projetos
Para projetos iniciados após julho de 2026, Base UI é o caminho padrão do Shadcn. Se quiser Radix, use a flag de init correspondente e documente a escolha no time.
Checklist de Decisão
Perguntas frequentes
Radix UI ou Base UI no Shadcn em 2026: qual usar?
Em projetos novos, o Shadcn usa Base UI por padrão desde julho de 2026. Radix continua totalmente suportado. Apps estáveis em Radix não precisam migrar só por moda — migre quando houver motivo claro (API, componentes ou manutenção).
Preciso migrar meu app de Radix para Base UI?
Não. A orientação oficial do Shadcn é: se a app em produção está bem no Radix, continue enviando features. Migração é opcional e deve ser componente a componente, não big bang.
Como iniciar um projeto Shadcn ainda com Radix?
Use a flag de init para optar por Radix (ex.: npx shadcn init -b radix, conforme a CLI atual). Sem a flag, o default em 2026 aponta para Base UI.
Qual a maior diferença de API entre Radix e Base UI?
Um ponto recorrente é o padrão asChild do Radix versus a abordagem com render prop no Base UI, além de atributos de estado e anatomia de alguns componentes. Meça bundle e comportamento no seu app — não generalize percentuais de performance.
Conclusão: Default Novo, Migração Opcional
Base UI virou o default do Shadcn em projetos novos; Radix segue suportado. A natureza copy-paste do Shadcn permite troca controlada quando houver motivo — sem prazo forçado para apps em produção.
Em 2026, a pergunta prática é menos "se" e mais "quando vale a pena" migrar cada codebase. Projetos novos tendem a Base UI; projetos maduros no Radix podem continuar enviando features com segurança. Para aprofundar a stack, compare também Shadcn vs Material UI, o guia de Tailwind CSS, o tutorial Shadcn UI e o guia de desenvolvedor sênior.
Fontes
Revisão em agosto de 2026. O default Base UI no Shadcn (projetos novos desde julho de 2026) e o suporte contínuo ao Radix vêm do changelog e docs oficiais — meça bundle e render no seu app antes de migrar.
ui.shadcn.com/docs — changelog Shadcn — Radix Primitives — Base UI.