Múltipla Escolha
Apresente uma lista de opções para o respondente escolher. Suporta seleção única, seleção múltipla, texto livre em "Outro", randomização e ordenação alfabética. Cada opção pode ter a sua própria imagem, vídeo ou ícone, e a propriedade layout alterna entre uma lista vertical e uma grade de cartões com imagem — então esse único tipo cobre tanto opções de texto simples quanto opções baseadas em imagem.

Identificador de tipo: multiple_choice
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
choices | Choice[] | Array de opções de escolha. Cada opção tem um id, um label e um media opcional. | [] |
layout | string | Como as opções são apresentadas: stacked (lista vertical, com miniaturas opcionais), blocks (grade de cartões com imagem), staggered (chips do tamanho do conteúdo, que quebram linha) ou grid (grade com número fixo de colunas). | stacked |
allowMultiple | boolean | Permite que o respondente selecione mais de uma opção. | false |
allowOther | boolean | Mostra uma opção "Outro" com um campo de texto livre onde o respondente pode digitar uma resposta personalizada. | false |
randomize | boolean | Randomiza a ordem das opções a cada exibição da pergunta. | false |
alphabeticalOrder | boolean | Ordena as opções alfabeticamente. Ignorado se randomize estiver ativado (a randomização tem precedência). | false |
Objeto de Opção
Cada opção no array choices tem:
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador exclusivo desta opção. Usado em saltos de lógica e pontuação. |
label | string | O texto de exibição da opção. |
media | QuestionMedia | Imagem, vídeo ou ícone opcional para esta opção. Defina media.display para controlar como ela é renderizada — veja abaixo. |
Mídia da Opção
Qualquer opção pode ter a sua própria mídia. O media.display decide como ela fica na opção:
| Exibição | Descrição |
|---|---|
thumbnail | Uma imagem pequena ao lado do rótulo da opção. |
background | A imagem preenche a superfície da opção, recortada para preencher. |
background-fit | A imagem preenche a superfície da opção, mas permanece inteira, com bordas contra a cor de fundo da opção. |
A mídia da opção suporta os mesmos tratamentos da mídia da pergunta — filtros, tonalidade, bordas, ponto focal e zoom. Veja Exibição de Mídia da Opção para entender como Preencher e Ajustar diferem e quando usar cada um.
A mídia da opção é no que o antigo tipo de pergunta Escolha por Imagem se transformou. Para montar uma grade de cartões com imagem, use Múltipla Escolha com layout: "blocks" e dê a cada opção um objeto media. Formulários importados do Typeform convertem perguntas picture_choice para esse formato automaticamente.
Validação
Se required for true, o respondente deve selecionar pelo menos uma opção antes de prosseguir.
Operadores de Salto de Lógica
equals, not_equals, is_answered, is_not_answered
Ao usar equals ou not_equals, o valor de comparação é o ID da opção. Para perguntas de seleção múltipla, equals verifica se o valor está entre os itens selecionados.
Formato da Resposta
- Seleção única (
allowMultiple: false): Uma string (o ID da opção selecionada). - Seleção múltipla (
allowMultiple: true): Um array de strings (os IDs das opções selecionadas).
Pontuação em Modo Quiz
Múltipla Escolha é um tipo de pergunta pontuável em todos os modos de quiz:
- Quiz de Conhecimento: Defina
correctAnswers(array de IDs das opções corretas) ecorrectAnswerScore(pontos por resposta correta). - Qualificação de Leads: Defina
choiceScores(mapeamento de ID de opção para valor de pontos). - Quiz de Correspondência: Defina
choiceOutcomes(mapeamento de ID de opção para IDs de perguntas de tela final).
Atalhos de teclado estão disponíveis para a seleção de opções. Os respondentes podem pressionar teclas de letra (A, B, C etc.) para selecionar opções, que aparecem como indicadores ao lado de cada uma.
Menu Suspenso
Um menu suspenso para selecionar a partir de uma lista de opções. Suporta a mesma configuração da Múltipla Escolha, mas exibe as opções em um formato compacto de menu suspenso. O media por opção e o layout não se aplicam aqui — um menu suspenso sempre renderiza suas opções como texto simples.

Identificador de tipo: dropdown
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
choices | Choice[] | Array de opções de escolha. | [] |
allowMultiple | boolean | Permite selecionar várias opções do menu suspenso. | false |
allowOther | boolean | Mostra uma opção "Outro" com campo de texto livre. | false |
placeholder | string | Texto de placeholder mostrado antes de uma seleção ser feita. | Nenhum |
randomize | boolean | Randomiza a ordem das opções. | false |
alphabeticalOrder | boolean | Ordena as opções alfabeticamente. | false |
Validação
Se required for true, o respondente deve selecionar pelo menos uma opção.
Operadores de Salto de Lógica
equals, not_equals, is_answered, is_not_answered
Formato da Resposta
- Seleção única: Uma string (o ID da opção selecionada).
- Seleção múltipla: Um array de strings (os IDs das opções selecionadas).
Pontuação em Modo Quiz
Menu Suspenso é um tipo de pergunta pontuável. A configuração de pontuação é idêntica à da Múltipla Escolha.
Escolha por Imagem
A Escolha por Imagem não é mais um tipo de pergunta separado. Ela foi incorporada à Múltipla Escolha — não existe mais um identificador picture_choice para selecionar.
Para montar a mesma coisa, use uma pergunta de Múltipla Escolha com layout definido como blocks e um objeto media em cada opção. Tudo o que a Escolha por Imagem fazia continua disponível, além dos tratamentos que ela nunca teve: opções em vídeo e ícone, filtros, tonalidade, ponto focal, zoom e um modo Ajustar que mostra imagens largas inteiras em vez de recortá-las.

{
"type": "multiple_choice",
"properties": {
"layout": "blocks",
"choices": [
{ "id": "c1", "label": "Mountains", "media": { "type": "image", "url": "https://…", "display": "background" } },
{ "id": "c2", "label": "Coast", "media": { "type": "image", "url": "https://…", "display": "background" } }
]
}
}
Formulários existentes e importações do Typeform são tratados automaticamente — uma pergunta picture_choice é convertida em Múltipla Escolha com layout: "blocks", então nada precisa ser reescrito.
Sim / Não
Uma pergunta binária simples que apresenta os botões "Sim" e "Não".

Identificador de tipo: yes_no
Propriedades
O tipo de pergunta Sim/Não não tem propriedades adicionais além das propriedades comuns de pergunta.
Validação
Se required for true, o respondente deve clicar em "Sim" ou "Não".
Operadores de Salto de Lógica
equals, not_equals, is_answered, is_not_answered
Ao usar equals, compare com true (Sim) ou false (Não). Os valores em string "true" e "false" também são aceitos.
Formato da Resposta
A resposta é armazenada como um booleano (true para Sim, false para Não, ou null se não respondida).
Pontuação em Modo Quiz
Sim/Não é um tipo de pergunta pontuável:
- Quiz de Conhecimento: Defina
correctAnswerscom um único valor"true"ou"false". - Qualificação de Leads: Defina
choiceScorescom as chaves"true"e"false". - Quiz de Correspondência: Defina
choiceOutcomescom as chaves"true"e"false".
A pergunta Sim/Não avança automaticamente para a próxima pergunta imediatamente após a seleção. Não há um botão "OK" separado.
Classificação
Apresente uma lista de itens para o respondente organizar na ordem de preferência dele, arrastando e soltando.

Identificador de tipo: ranking
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
choices | Choice[] | Array de itens a classificar. Cada um tem um id e um label. | [] |
Validação
Se required for true, o respondente deve enviar uma classificação (todos os itens devem estar em uma ordem definida).
Operadores de Salto de Lógica
equals, not_equals, is_answered, is_not_answered
Formato da Resposta
A resposta é armazenada como um array de strings (IDs das opções na ordem de classificação do respondente, do primeiro ao último).
["choice_3", "choice_1", "choice_2"]
O campo de classificação usa interação de arrastar e soltar. Em dispositivos móveis, os respondentes podem usar gestos de toque para reordenar os itens.
Matriz
Um tipo de pergunta em grade, em que os respondentes avaliam vários itens (linhas) em várias categorias (colunas). Cada interseção de linha e coluna é uma opção selecionável.

Identificador de tipo: matrix
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
rows | string[] | Array de rótulos das linhas (os itens sendo avaliados). | [] |
columns | string[] | Array de rótulos das colunas (as categorias de avaliação). | [] |
randomizeRows | boolean | Randomiza a ordem das linhas. | false |
randomizeColumns | boolean | Randomiza a ordem das colunas. | false |
Validação
Se required for true, o respondente deve selecionar uma opção por linha.
Operadores de Salto de Lógica
equals, not_equals, is_answered, is_not_answered
Formato da Resposta
A resposta é armazenada como um objeto (Record<string, string>) que mapeia cada rótulo de linha para o rótulo de coluna selecionado:
{
"Product Quality": "Excellent",
"Customer Service": "Good",
"Value for Money": "Average"
}
As perguntas de matriz são exibidas como uma grade responsiva no desktop e se adaptam a um formato empilhado em dispositivos móveis para melhor usabilidade. Tanto as linhas quanto as colunas suportam randomização independente.
Lista
Colete várias entradas do mesmo tipo. Uma Lista contém itens de texto simples (digite e pressione Enter, ou toque em Adicionar) ou itens de composite repetidos — entradas estruturadas construídas a partir de um composite reutilizável, como adicionar qualquer número de membros de conselho em uma única pergunta.
Identificador de tipo: list
Propriedades
| Propriedade | Tipo | Descrição | Padrão |
|---|---|---|---|
itemType | string | string para itens de texto simples, composite para instâncias repetíveis de composite. | string |
compositeId | string | O composite referenciado (apenas itens de composite). Definido pelo seletor. | — |
itemPlaceholder | string | Texto de placeholder do campo de entrada (itens de texto). | — |
addButtonLabel | string | Rótulo personalizado do botão Adicionar em ambos os modos de item. | — |
minItems | number | Número mínimo de itens necessário para enviar. | — |
maxItems | number | Número máximo de itens. Limite rígido de 100. | 100 |
itemRegex | string | Padrão de validação por item (itens de texto). | — |
itemRegexError | string | Mensagem de erro mostrada quando o padrão falha. | — |
itemMinLength | number | Mínimo de caracteres por item (itens de texto). | — |
itemMaxLength | number | Máximo de caracteres por item (itens de texto). | — |
allowDuplicates | boolean | Permite adicionar o mesmo item de texto duas vezes (itens de texto). | true |
allowReorder | boolean | Permite que os respondentes arrastem itens para reordenar (itens de texto). | true |
defaultItems | string[] | Itens pré-preenchidos na primeira vez que a pergunta carrega (itens de texto, formulários web). | [] |
displayMode | string | Como uma entrada de composite recolhida é renderizada: compact (resumo de uma linha) ou card (rótulo + valor de cada campo). | compact |
compactFields | string[] | IDs ordenados dos subcampos mostrados no resumo compacto recolhido. O padrão é o primeiro campo do composite. | — |
Validação
Se required for true, pelo menos um item deve ser adicionado. minItems / maxItems são aplicados no envio; as regras de padrão e comprimento por item (itens de texto) são aplicadas conforme cada item é adicionado.
Operadores de Salto de Lógica
list_count_equals, list_count_greater_than, list_count_less_than, contains, not_contains, is_answered, is_not_answered
Os operadores de contagem comparam com o número de itens na resposta.
Formato da Resposta
- Itens de texto: um array de strings.
- Itens de composite: um array de objetos, cada um indexado pelo ID do subcampo:
[
{ "sub_first_name": "Ada", "sub_email": "ada@example.com" },
{ "sub_first_name": "Grace", "sub_email": "grace@example.com" }
]
Cada item de composite também é registrado como uma entrada de composite independente — veja o guia de Composites para a visualização de Entradas entre formulários e os modos de exibição recolhida.