Figma plugin that converts selected text to Title Case adapted for Brazilian Portuguese — ideal for standardizing titles, buttons, labels, and microcopy in design systems.
No UI. No settings. No internet. One click.
Digital interfaces contain dozens of titles and labels. Writing "Gestão De Projetos" or "gestão de projetos digitais" creates visual inconsistency and weakens typographic hierarchy. This plugin applies an objective, repeatable rule directly in Figma.
| Before | After |
|---|---|
gestão de projetos digitais |
Gestão de Projetos Digitais |
guia completo: conceitos fundamentais |
Guia Completo: Conceitos Fundamentais |
design centrado no usuário-final |
Design Centrado no Usuário-Final |
ir ao mercado |
Ir ao Mercado |
pré-processamento de dados |
Pré-Processamento de Dados |
Preserved tokens:
| Input | Output |
|---|---|
integração com API e UX |
Integração com API e UX |
configurar OpenAI no iPhone |
Configurar OpenAI no iPhone |
acesse https://exemplo.com |
acesse https://exemplo.com |
- Brazilian Portuguese Title Case with a full linguistic stoplist
- Multi-selection and recursive search in frames and groups
- Mixed formatting preservation (fonts, sizes, colors, per-range styles)
- Accent, punctuation, spacing, and line break preservation
- Hyphen (each side independent) and colon rules
- Automatic preservation of acronyms, brands, URLs, emails, hashtags, and mentions
- Offline execution, no external dependencies
Always capitalized
- First and last word of the title
- Nouns, verbs, adjectives, adverbs, and pronouns
- Word immediately after
:
Lowercase in the middle
- Articles: o, a, os, as, um, uma, uns, umas
- Contractions: do, da, dos, das, no, na, nos, nas, num, numa, ao, à, pelo, pela
- Prepositions: de, em, por, para, pra, pro, com, sem, sob, sobre, entre, até, após, ante, desde, contra, perante, trás
- Conjunctions: e, ou, mas, nem, que, porque, como, quando, se
Preserved unchanged
- Acronyms (
UX,API,PDF) - Brand names (
OpenAI,iPhone,macOS,GitHub) - Words with digits (
HTML5,3D,ISO 9001) - URLs, emails, hashtags (
#Design), mentions (@user)
- Verbal phrases (e.g. "Configurar Até o Fim") are not detected — would require syntactic analysis (NLP).
- Applies Title Case, not Sentence case. Pick one style per product and stay consistent.
- Layers with missing fonts are skipped; remaining layers continue processing.
- Open the plugin page on Figma Community.
- Click Try it out or Install.
git clone https://github.com/tgrkn/title-case-ptbr.git
cd title-case-ptbr
npm install
npm run buildIn Figma Desktop: Quick Actions → Import plugin from manifest… → select manifest.json.
For live rebuild during development:
npm run watch- Select one or more text layers — or frames/groups containing text.
- Run Title Case PT-BR from Quick Actions.
- The plugin converts text and reports how many layers were updated.
Messages
✔ N textos convertidos para Title Case PT-BR.Selecione ao menos uma camada de texto.— no text in selection.Nenhum texto precisou ser alterado.— text was already correct.
title-case-ptbr/
├── manifest.json
├── code.ts
├── package.json
├── tsconfig.json
├── icon.png
└── docs/
└── COMMUNITY.md
| Asset | Size | Format |
|---|---|---|
| Plugin icon | 128 × 128 px | PNG or JPG |
| Cover image | 1920 × 1080 px | PNG or JPG |
See docs/COMMUNITY.md for full publishing copy in EN-US and PT-BR.
- Figma Plugin API 1.0.0
- TypeScript
- No UI iframe — runs entirely in the plugin sandbox
MIT — see LICENSE.
Interfaces digitais têm dezenas de títulos e labels. Escrever "Gestão De Projetos" ou "gestão de projetos digitais" gera inconsistência visual e enfraquece a hierarquia tipográfica. Este plugin aplica uma regra objetiva e repetível, direto no Figma.
| Antes | Depois |
|---|---|
gestão de projetos digitais |
Gestão de Projetos Digitais |
guia completo: conceitos fundamentais |
Guia Completo: Conceitos Fundamentais |
design centrado no usuário-final |
Design Centrado no Usuário-Final |
ir ao mercado |
Ir ao Mercado |
pré-processamento de dados |
Pré-Processamento de Dados |
Tokens preservados:
| Entrada | Saída |
|---|---|
integração com API e UX |
Integração com API e UX |
configurar OpenAI no iPhone |
Configurar OpenAI no iPhone |
acesse https://exemplo.com |
acesse https://exemplo.com |
- Title Case PT-BR com stoplist linguística completa
- Seleção múltipla e busca recursiva em frames e grupos
- Preservação de formatação mista (fontes, tamanhos, cores, estilos por trecho)
- Preservação de acentuação, pontuação, espaços e quebras de linha
- Regras para hífen (cada lado independente) e dois-pontos
- Preservação automática de siglas, marcas, URLs, e-mails, hashtags e menções
- Execução offline, sem dependências externas
Sempre maiúsculas
- Primeira e última palavra do título
- Substantivos, verbos, adjetivos, advérbios e pronomes
- Palavra imediatamente após
:
Minúsculas no meio
- Artigos: o, a, os, as, um, uma, uns, umas
- Contrações: do, da, dos, das, no, na, nos, nas, num, numa, ao, à, pelo, pela
- Preposições: de, em, por, para, pra, pro, com, sem, sob, sobre, entre, até, após, ante, desde, contra, perante, trás
- Conjunções: e, ou, mas, nem, que, porque, como, quando, se
Preservados sem alteração
- Siglas (
UX,API,PDF) - Marcas e nomes próprios (
OpenAI,iPhone,macOS,GitHub) - Palavras com dígitos (
HTML5,3D,ISO 9001) - URLs, e-mails, hashtags (
#Design) e menções (@usuario)
- Locuções verbais (ex.: "Configurar Até o Fim") não são detectadas — exigiria análise sintática (NLP).
- Aplica Title Case, não Sentence case. Escolha um estilo por produto e mantenha consistência.
- Camadas com fontes ausentes são ignoradas; as demais continuam sendo processadas.
- Acesse a página do plugin no Figma Community.
- Clique em Try it out ou Install.
git clone https://github.com/tgrkn/title-case-ptbr.git
cd title-case-ptbr
npm install
npm run buildNo Figma Desktop: Quick Actions → Import plugin from manifest… → selecione manifest.json.
Para recompilar durante o desenvolvimento:
npm run watch- Selecione uma ou mais camadas de texto — ou frames/grupos que contenham textos.
- Execute Title Case PT-BR via Quick Actions.
- O plugin converte os textos e informa quantas camadas foram alteradas.
Mensagens
✔ N textos convertidos para Title Case PT-BR.Selecione ao menos uma camada de texto.— nenhum texto na seleção.Nenhum texto precisou ser alterado.— textos já estavam corretos.
title-case-ptbr/
├── manifest.json
├── code.ts
├── package.json
├── tsconfig.json
├── icon.png
└── docs/
└── COMMUNITY.md
| Asset | Tamanho | Formato |
|---|---|---|
| Ícone do plugin | 128 × 128 px | PNG ou JPG |
| Cover | 1920 × 1080 px | PNG ou JPG |
Veja docs/COMMUNITY.md para textos completos de publicação em EN-US e PT-BR.
- Figma Plugin API 1.0.0
- TypeScript
- Sem UI — execução 100% no sandbox do plugin
MIT — veja LICENSE.
Tiago Gerken — @tgrkn