Converter txt para vcard

Converter TXT para VCARD

Converta uma lista de contatos TXT estruturada em um arquivo vCard compatível para importação no telefone e no catálogo de endereços.

Converter ficheiros TXT online

Ainda não temos um conversor online dedicado para TXT para VCARD, mas pode converter ficheiros TXT online para estes e outros formatos:

Como converter txt para vcard arquivo

Telefones e aplicações de agenda de endereços normalmente importam contatos de arquivos .vcf, não de listas de texto simples. Converter uma lista de contatos TXT estruturada produz um arquivo que pode ser transferido entre dispositivos, compartilhado ou importado para softwares de email e contatos.

O que é o formato TXT

.txt é um formato de texto simples não estruturado usado pelo Notepad, TextEdit, ferramentas de terminal, aplicações antigas e listas de contatos mantidas manualmente. Ele não possui campos de contato nem delimitador padrão.

Uma lista de contatos pode conter um contato por linha, colunas separadas por vírgulas ou tabulações, ou rótulos como Name:, Phone: e Email:. Inspecione o conteúdo antes da conversão; apenas a extensão não permite identificar qual valor é um sobrenome, número de telefone, código postal ou observação.

O que é o formato vCard

vCard é um padrão estruturado de contatos normalmente salvo com a extensão .vcf. Ele pode armazenar nome formatado, nome e sobrenome estruturados, números de telefone, endereços de email, organização, endereço postal, site, observações e, dependendo da versão e da aplicação, uma foto do contato.

Um único arquivo VCF pode conter um contato ou vários contatos. vCard 3.0 é geralmente mais compatível com telefones antigos e agendas de endereços para desktop; vCard 4.0 tem recursos mais recentes, mas não é compatível com todos os importadores. Android, iOS, Outlook, Thunderbird, Apple Contacts e Google Contacts são compatíveis com vCard, embora o mapeamento de campos varie entre as aplicações.

Converter TXT com LibreOffice e Thunderbird

  1. Abra o arquivo TXT no LibreOffice Calc. Na caixa de diálogo de importação, selecione Separated by e escolha o delimitador real, como Tab, vírgula ou ponto e vírgula. Verifique se cada campo aparece na coluna correta.
  2. Limpe a tabela e use uma linha de cabeçalho com nomes inequívocos, como First Name, Last Name, Mobile Number, Email e Organization. Salve-a como contacts.csv por meio de File → Save As.
  3. Abra a agenda de endereços do Thunderbird e escolha Tools → Import. Selecione a opção de importação de CSV ou agenda de endereços de texto e, em seguida, mapeie cada coluna de origem para o campo apropriado do Thunderbird.
  4. Inspecione vários registros importados para verificar nomes invertidos, zeros à esquerda perdidos, tipos de telefone incorretos, caracteres acentuados corrompidos e endereços de email malformados.
  5. Selecione os contatos verificados e escolha Tools → Export. Salve o resultado como contacts.vcf; selecione vCard 3.0 se o Thunderbird oferecer uma escolha de versão.

Os nomes dos menus podem variar ligeiramente entre versões do Thunderbird. Se o assistente de importação não reconhecer o arquivo como CSV, salve-o primeiro no Calc como CSV separado por vírgulas com codificação UTF-8.

Usar um script Python local para dados separados por tabulação

Um script é adequado quando o arquivo TXT tem uma linha de cabeçalho chamada name, phone, email e, opcionalmente, organization, com um contato por linha separada por tabulação. Salve-o como txt_to_vcard.py:

import csv
import sys


def escape(value):
    value = str(value or '').replace('\\r\\n', '\\n').replace('\\r', '\\n')
    return value.replace('\\', '\\\\').replace(';', '\\;').replace(',', '\\,').replace('\\n', '\\n')


def fold(line):
    parts = []
    current = ''
    limit = 75
    for character in line:
        if len((current + character).encode('utf-8')) > limit:
            parts.append(current)
            current = ' ' + character
            limit = 74
        else:
            current += character
    parts.append(current)
    return '\\r\\n'.join(parts)


with open(sys.argv[1], encoding='utf-8-sig', newline='') as source, open('contacts.vcf', 'w', encoding='utf-8', newline='') as output:
    contacts = csv.DictReader(source, delimiter='\\t')
    for contact in contacts:
        full_name = (contact.get('name') or '').strip()
        name_parts = full_name.split()
        family = name_parts[-1] if name_parts else ''
        given = ' '.join(name_parts[:-1])
        lines = [
            'BEGIN:VCARD',
            'VERSION:3.0',
            'FN:' + escape(full_name),
            'N:' + escape(family) + ';' + escape(given) + ';;;'
        ]
        phone = escape(contact.get('phone', ''))
        email = escape(contact.get('email', ''))
        organization = escape(contact.get('organization', ''))
        if phone:
            lines.append('TEL;TYPE=CELL:' + phone)
        if email:
            lines.append('EMAIL:' + email)
        if organization:
            lines.append('ORG:' + organization)
        lines.extend(['END:VCARD'])
        output.write('\\r\\n'.join(fold(line) for line in lines) + '\\r\\n')

Execute-o com python txt_to_vcard.py contacts.txt. O script cria contacts.vcf no diretório atual. O analisador de nomes considera a última palavra separada por espaços como o sobrenome; portanto, edite essa lógica para sobrenomes compostos, títulos, sufixos ou colunas separadas para nome e sobrenome.

Usar um conversor online para dados não confidenciais

Serviços online como CloudConvert ou Online-Convert podem oferecer conversão de CSV para VCF, mas o suporte direto a TXT e o mapeamento de campos variam. Se o serviço não aceitar corretamente o delimitador do TXT, abra o arquivo no LibreOffice Calc, salve-o como CSV UTF-8 e converta esse CSV para VCF. Envie apenas uma pequena amostra sanitizada ou contatos não privados; uma lista de contatos contém dados pessoais e pode ser retida pelo serviço. Um fluxo de trabalho local com Thunderbird ou um script evita essa divulgação.

Verificações de qualidade e compatibilidade

TXT não possui um esquema universal de contatos, portanto a conversão automática não consegue inferir de forma confiável o significado dos campos. Normalize os números de telefone, preserve os códigos de país e verifique os valores que contêm vírgulas, tabulações, pontos e vírgulas, quebras de linha ou zeros à esquerda antes de exportar.

Use UTF-8 para preservar nomes acentuados. Os valores de texto do vCard exigem escape para barras invertidas, vírgulas, pontos e vírgulas e quebras de linha; as linhas geradas também devem ser dobradas quando excederem o limite de comprimento de linha do vCard. Teste alguns registros antes de importar um arquivo grande e, em seguida, verifique contatos duplicados, campos truncados, fotos não compatíveis e mapeamentos incorretos de nomes ou tipos de telefone.

Comparação de formato: TXT vs VCARD

Como os formatos TXT e VCARD se comparam nas propriedades mais importantes para esta conversão.

Comparação dos formatos de arquivo TXT e VCARD
Propriedade .TXT Plain Text File .VCARD vCard
Padrão aberto Sim Sim
Compressão Sem compressão Sem compressão
Tamanho típico do arquivo Muito pequeno Muito pequeno
Abre num navegador web Sim, nativamente Não
Edição posterior Fácil Fácil
Suporte a metadados Nenhum Básico
Legível em texto simples Sim Sim
Mais usado para Intercâmbio de dados Partilha e distribuição
Introduzido 1996
Desenvolvedor IETF
Tipo MIME text/plain text/vcard

O banco de dados atualmente não contém nenhum conversor de arquivo txt.

Perguntas frequentes

A conversão de TXT para vCard mantém todos os meus dados de contato?

Somente os campos de contato que podem ser identificados no arquivo TXT estruturado são transferidos de forma confiável. Colunas não reconhecidas, formatação e outros textos podem ser omitidos ou colocados em um campo de notas, dependendo das regras de conversão.

Uma lista de contatos em TXT pode virar vários vCards?

Sim, se o arquivo TXT tiver separadores claros entre os contatos e rótulos de campos consistentes. Sem esses marcadores, várias pessoas podem ser mescladas em um único contato ou uma pessoa pode ser dividida em vários contatos.

Por que os nomes ou números de telefone ficam errados depois de converter TXT para vCard?

TXT não tem uma estrutura universal de lista de contatos, por isso vírgulas, tabulações, quebras de linha, cabeçalhos e formatos de números de telefone podem ser interpretados incorretamente. Rótulos e delimitadores consistentes são importantes para um mapeamento preciso dos campos.

A conversão de TXT para vCard preserva nomes acentuados e caracteres especiais?

Geralmente, se a codificação do texto de origem e a codificação de caracteres do vCard forem tratadas corretamente. Uma incompatibilidade pode gerar acentos ou outros símbolos distorcidos, e a compatibilidade também depende da versão do vCard aceita pelo catálogo de endereços.