O que é canal alfa? Como funciona a transparência nas imagens

O canal alfa é um quarto número por pixel que diz quanto dá para ver através dele. Entender isso explica a maioria dos problemas de transparência, dos halos brancos em volta de recortes aos PNGs que mostram fundo preto.

Atualizado em 23 de outubro de 2026 · 8 min de leitura

Cada pixel de uma imagem comum é descrito por três números: quanto de vermelho, verde e azul ele tem. Isso basta para dizer a cor do pixel, mas não se dá para ver através dele. O canal alfa é um quarto número por pixel que faz exatamente isso: guarda a opacidade, de totalmente transparente a totalmente opaco.

Quando se fala em "um PNG com fundo transparente", fala-se de uma imagem com canal alfa em que os pixels do fundo têm alfa zero. Este guia explica como esse número funciona, as duas formas como os programas o guardam, por que as bordas dão errado e como conferir o que um arquivo realmente contém.

RGBA: quatro canais por pixel

O MDN define o canal alfa de forma simples: as cores são feitas de canais (vermelho, verde e azul), e para descrever uma cor "através da qual o fundo pode ser visto até certo ponto", acrescenta-se um quarto canal. Uma imagem com os quatro se chama RGBA.

O valor pode ser escrito de várias formas, e todas querem dizer a mesma coisa:

NotaçãoTotalmente transparenteMeio transparenteTotalmente opaco
Inteiro de 8 bits (a maioria dos arquivos de imagem)0128255
Inteiro de 16 bits (PNG de 16 bits)03276865535
Fração (cálculos de composição, CSS)00.51
Porcentagem (CSS)0%50%100%
Sufixo hexadecimal (CSS #rrggbbaa)0080ff

A especificação do PNG diz isso com precisão: um valor alfa zero é transparência total, o valor máximo para a profundidade de bits é opacidade total, e os valores intermediários são pixels parcialmente transparentes "que podem ser compostos sobre uma imagem de fundo".

Esses valores intermediários são a parte importante. Um bom recorte não é só "objeto opaco, fundo transparente". Os pixels ao longo da borda, principalmente em cabelo, pelo, tecido, vidro e borrão de movimento, são parcialmente transparentes, e é isso que faz o objeto parecer natural sobre um fundo novo em vez de parecer recortado com tesoura.

Como um pixel transparente é desenhado

Quando um aplicativo coloca sua imagem sobre outra coisa, ele mistura cada pixel com o que está atrás. A especificação Compositing and Blending do W3C traz a fórmula básica:

result = Cs x as + Cb x ab x (1 - as)

Cs, as = color and alpha of your image (the source)
Cb, ab = color and alpha of what is behind it (the backdrop)

No caso comum de um fundo opaco, isso vira uma média ponderada. Um pixel com alfa 0,3 contribui com 30% da própria cor e deixa passar 70% do fundo.

Alfa direto e alfa pré-multiplicado

Há dois jeitos de guardar a cor de um pixel parcialmente transparente, e confundir os dois é uma fonte clássica de bordas escuras ou claras demais.

O alfa direto (também chamado de não associado ou não pré-multiplicado) guarda a cor como se o pixel fosse totalmente opaco e guarda a opacidade separadamente. Um pixel vermelho puro meio transparente é guardado como vermelho 255, verde 0, azul 0, alfa 128.

O alfa pré-multiplicado (também chamado de associado) guarda a cor já multiplicada pelo alfa. O mesmo pixel é guardado como vermelho 128, verde 0, azul 0, alfa 128. Como diz a especificação do PNG, uma imagem assim "já está composta sobre um fundo preto".

Qual deles um arquivo usa depende do formato e do programa:

  • O PNG sempre usa alfa direto. A especificação diz isso explicitamente e observa que assim um editor consegue mudar a transparência de uma imagem com facilidade.
  • Pipelines gráficos, motores de jogos e ferramentas de composição de vídeo muitas vezes trabalham internamente com alfa pré-multiplicado, porque os cálculos de mistura são mais simples e a filtragem se comporta melhor.

Os problemas começam quando um programa grava valores pré-multiplicados e outro os lê como diretos. As cores ao longo das bordas saem escuras demais, com um contorno preto fino. No caminho inverso, as bordas saem claras demais. Se você vê uma borda escura constante em todos os recortes de uma mesma ferramenta, a primeira suspeita é um descompasso de pré-multiplicação.

Por que os recortes ficam com halos

Um halo é uma borda visível em volta do objeto que não faz parte dele. Há quatro causas comuns, e cada uma tem sua correção.

1. O fundo antigo ficou nos pixels da borda

Uma câmera nunca capta um limite limpo. Uma mecha de cabelo diante de uma cerca viva verde gera pixels que são em parte cabelo e em parte folhagem. Se o recorte mantém as cores originais desses pixels e só os deixa semitransparentes, o verde continua misturado. Sobre branco, o objeto agora tem um leve brilho verde.

A correção é a descontaminação de cor: estimar a verdadeira cor de primeiro plano de cada pixel da borda e gravar essa cor no lugar. O Photoshop chama isso de Descontaminar cores no espaço de trabalho Selecionar e aplicar máscara, e a biblioteca de código aberto rembg tem uma opção decontaminate que faz o mesmo. Ela muda as cores da borda, nunca o formato da máscara.

2. A máscara está dura demais

Se a máscara só tem pixels totalmente opacos e totalmente transparentes, as bordas ficam serrilhadas, e qualquer suavização da foto original deixa uma linha de um pixel da cor do fundo em volta do objeto. Objetos suaves como cabelo precisam de uma máscara suave com valores intermediários de verdade.

3. Cores escondidas nos pixels transparentes

Um pixel com alfa zero ainda tem valores de vermelho, verde e azul num arquivo com alfa direto. Você não vê esses valores, mas redimensionar ou desfocar uma imagem mistura pixels vizinhos, e se essas cores escondidas forem branco ou preto, elas vazam para a borda visível. Boas bibliotecas de imagem evitam isso pré-multiplicando antes de redimensionar e convertendo de volta depois.

4. A imagem foi achatada sobre uma cor

GIFs e PNGs de paleta muitas vezes só aceitam transparência de liga ou desliga, então as ferramentas suavizam a borda contra uma cor de fosco, normalmente branco, antes de salvar. Essa imagem fica boa no branco e mostra uma franja branca sobre qualquer cor mais escura. Se o seu recorte vai ficar sobre fundos escuros, exporte com alfa completo.

Máscaras, mattes e alfa: o vocabulário

Essas palavras se sobrepõem e são usadas sem muito rigor. É assim que costumam ser entendidas:

  • Canal alfa: os valores de opacidade guardados dentro de um arquivo de imagem, um por pixel.
  • Máscara: uma imagem em tons de cinza que controla quais partes de outra imagem ficam visíveis. Nas máscaras de camada do Photoshop, o branco revela e o preto esconde, e os cinzas ficam parcialmente visíveis. Uma máscara pode ser editada sem mexer nos pixels originais, e é por isso que profissionais removem fundos com máscaras em vez de apagar.
  • Matte: o termo de cinema e composição para a mesma ideia, uma imagem em tons de cinza que define o que é mantido. O "matting" é o problema de calcular mattes suaves e precisos para bordas difíceis como cabelo.
  • Trimap: um mapa aproximado de três zonas (com certeza primeiro plano, com certeza fundo, incerto) que alguns algoritmos de matting usam como ponto de partida.
  • Máscara binária ou dura: só preto e branco, sem cinzas. Serve para caixas e logotipos, e vai mal com cabelo.
  • Recorte: o resultado final, as cores do objeto mais um canal alfa.

Uma máscara e um canal alfa guardam a mesma informação. Muitas ferramentas deixam você exportar qualquer um dos dois: um PNG transparente com o alfa embutido, ou uma imagem de máscara em preto e branco separada que você mesmo aplica num editor ou numa ferramenta de vídeo.

Quais formatos guardam alfa

FormatoSuporte a alfa
PNGAlfa completo (8 ou 16 bits), ou uma única cor de paleta transparente
WebPAlfa completo, nos modos sem perda e com perda
AVIFAlfa completo
GIFSó liga ou desliga: uma cor da paleta marcada como transparente
JPEGNenhum

Para uma comparação completa desses formatos, veja PNG vs JPEG vs WebP.

Como conferir se uma imagem tem transparência

Um arquivo terminado em .png não prova que há transparência. Muitos PNGs são totalmente opacos, e algumas imagens "transparentes" encontradas na internet são JPEGs com um quadriculado cinza e branco pintado nos pixels. Estes são jeitos confiáveis de conferir.

A olho nu

Coloque a imagem sobre um fundo escuro e sobre um claro, por exemplo num slide ou numa ferramenta de design. Um recorte de verdade mostra a cor do fundo em volta do objeto nos dois casos. Se você continua vendo um quadriculado, ele faz parte da imagem, não é transparência.

Com o ImageMagick

# Does the file have an alpha channel at all?
identify -format "%A\n" photo.png

# Is it fully opaque anyway? (true means no visible transparency)
identify -format "%[opaque]\n" photo.png

%A informa o canal de transparência (a palavra exata exibida muda entre o ImageMagick 6 e o 7), e %[opaque] calcula se todos os pixels são totalmente opacos. O que você quer é um canal alfa e false.

Com Python e Pillow

from PIL import Image

im = Image.open("photo.png")
print(im.mode)                    # RGBA or LA means an alpha channel
print(im.has_transparency_data)   # True if the file carries any transparency info

if "A" in im.getbands():
    lo, hi = im.getchannel("A").getextrema()
    print("alpha range:", lo, hi)  # lo == 255 means nothing is transparent

A verificação dos extremos pega o caso comum de um arquivo RGBA em que todos os pixels são opacos.

Quando a plataforma ignora o alfa

Alguns lugares removem ou ignoram a transparência. A Etsy diz que PNG transparente não é aceito e que as áreas transparentes podem aparecer pretas, e marketplaces como Amazon e Walmart querem as imagens principais em branco puro de qualquer jeito. Nesses casos, achate você mesmo o recorte sobre a cor de fundo para controlar o resultado. No seu próprio site, em slides e em ferramentas de design, mantenha o alfa.

Um canal alfa limpo, rapidinho

Se você precisa de recortes com bordas suaves em vez de máscaras duras, o removebackground.dev gera arquivos PNG ou WebP transparentes com canal alfa completo, e a API dele também pode devolver só a máscara em tons de cinza.

Perguntas

O que significa RGBA?

Vermelho, verde, azul e alfa (red, green, blue e alpha). Os três primeiros descrevem a cor de um pixel e o quarto descreve a opacidade, de 0 (totalmente transparente) ao valor máximo (255 em imagens de 8 bits) para totalmente opaco.

Qual a diferença entre alfa direto e alfa pré-multiplicado?

O alfa direto guarda separadamente a cor completa do pixel e a opacidade. O alfa pré-multiplicado guarda a cor já multiplicada pela opacidade, como se tivesse sido composta sobre preto. O PNG sempre usa alfa direto; muitas ferramentas de renderização e de vídeo usam o pré-multiplicado internamente.

Por que meu recorte tem um contorno branco ou colorido?

Normalmente o fundo antigo ainda está misturado nos pixels da borda, ou a imagem foi suavizada contra o branco antes de salvar. Descontaminar as cores da borda, usar uma máscara suave e exportar com alfa completo em vez de uma cor de fosco resolve a maioria dos casos.

Máscara e canal alfa são a mesma coisa?

Elas guardam a mesma informação: um valor em tons de cinza por pixel dizendo quanto ele aparece. O canal alfa fica dentro do arquivo de imagem; a máscara normalmente é uma imagem separada em tons de cinza ou uma máscara de camada num editor.

Como sei se um PNG é transparente de verdade?

Coloque sobre um fundo escuro e um claro e confira se o fundo aparece através dele. Ou rode o identify do ImageMagick com %[opaque], ou confira o valor mínimo do canal alfa no Pillow; um mínimo de 255 significa que nada é transparente.

Experimente com a sua imagem

Contas novas ganham 50 créditos grátis. Um crédito por imagem, sem assinatura, e os créditos nunca expiram.

Remover um fundo

Fontes