Konversi txt ke vcard

Konversi TXT menjadi VCARD

Konversikan daftar kontak TXT terstruktur menjadi file vCard yang kompatibel untuk impor ke ponsel dan buku alamat.

Konversi file TXT secara online

Kami belum punya konverter online khusus untuk TXT ke VCARD, tetapi Anda bisa mengonversi file TXT secara online ke format berikut dan lainnya:

Bagaimana mengkonversi txt ke vcard berkas

Telepon dan aplikasi buku alamat biasanya mengimpor kontak dari file .vcf, bukan daftar teks biasa. Mengonversi daftar kontak TXT terstruktur menghasilkan file yang dapat ditransfer antarperangkat, dibagikan, atau diimpor ke software email dan kontak.

Apa itu format TXT

.txt adalah format teks biasa tidak terstruktur yang digunakan oleh Notepad, TextEdit, alat terminal, aplikasi lama, dan daftar kontak yang dikelola secara manual. Format ini tidak memiliki field kontak atau delimiter standar.

Daftar kontak dapat berisi satu kontak per baris, kolom yang dipisahkan koma atau tab, atau label seperti Name:, Phone:, dan Email:. Periksa isinya sebelum konversi; ekstensi saja tidak dapat mengidentifikasi nilai mana yang merupakan nama belakang, nomor telepon, kode pos, atau catatan.

Apa itu format vCard

vCard adalah standar kontak terstruktur yang biasanya disimpan dengan ekstensi .vcf. Format ini dapat menyimpan nama berformat, nama depan dan nama keluarga terstruktur, nomor telepon, alamat email, organisasi, alamat pos, situs web, catatan, dan, bergantung pada versi serta aplikasi, foto kontak.

Satu file VCF dapat berisi satu kontak atau beberapa kontak. vCard 3.0 umumnya lebih kompatibel dengan telepon lama dan buku alamat desktop; vCard 4.0 memiliki fitur yang lebih baru, tetapi tidak didukung oleh setiap pengimpor. Android, iOS, Outlook, Thunderbird, Apple Contacts, dan Google Contacts mendukung vCard, meskipun pemetaan field berbeda-beda antar aplikasi.

Mengonversi TXT dengan LibreOffice dan Thunderbird

  1. Buka file TXT di LibreOffice Calc. Dalam dialog impor, pilih Separated by dan pilih delimiter yang sebenarnya, seperti Tab, koma, atau titik koma. Periksa apakah setiap field muncul di kolom yang benar.
  2. Bersihkan tabel dan gunakan baris header dengan nama yang jelas seperti First Name, Last Name, Mobile Number, Email, dan Organization. Simpan sebagai contacts.csv melalui File → Save As.
  3. Buka buku alamat Thunderbird dan pilih Tools → Import. Pilih opsi impor CSV atau buku alamat teks, lalu petakan setiap kolom sumber ke field Thunderbird yang sesuai.
  4. Periksa beberapa data yang diimpor untuk memastikan tidak ada nama yang tertukar, angka nol di awal yang hilang, jenis telepon yang salah, karakter beraksen yang rusak, dan alamat email yang tidak valid.
  5. Pilih kontak yang telah diverifikasi dan pilih Tools → Export. Simpan hasilnya sebagai contacts.vcf; pilih vCard 3.0 jika Thunderbird menawarkan pilihan versi.

Nama menu mungkin sedikit berbeda antar versi Thunderbird. Jika wizard impor tidak mengenali file sebagai CSV, simpan terlebih dahulu dari Calc sebagai CSV yang dipisahkan koma dengan encoding UTF-8.

Menggunakan script Python lokal untuk data yang dipisahkan tab

Script cocok digunakan ketika file TXT memiliki baris header bernama name, phone, email, dan secara opsional organization, dengan satu kontak per baris yang dipisahkan tab. Simpan sebagai 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')

Jalankan dengan python txt_to_vcard.py contacts.txt. Script tersebut membuat contacts.vcf di direktori saat ini. Parser namanya menganggap kata terakhir yang dipisahkan spasi sebagai nama keluarga, jadi ubah logika tersebut untuk nama keluarga majemuk, gelar, sufiks, atau kolom nama depan dan nama belakang yang terpisah.

Menggunakan konverter online untuk data yang tidak sensitif

Layanan online seperti CloudConvert atau Online-Convert mungkin menyediakan konversi CSV ke VCF, tetapi dukungan TXT langsung dan pemetaan field berbeda-beda. Jika layanan tersebut tidak menerima delimiter TXT dengan benar, buka file di LibreOffice Calc, simpan sebagai CSV UTF-8, lalu konversi CSV tersebut ke VCF. Unggah hanya sampel kecil yang telah disanitasi atau kontak yang tidak bersifat pribadi; daftar kontak berisi data pribadi dan mungkin disimpan oleh layanan tersebut. Alur kerja Thunderbird lokal atau script dapat menghindari pengungkapan tersebut.

Pemeriksaan kualitas dan kompatibilitas

TXT tidak memiliki skema kontak universal, sehingga konversi otomatis tidak dapat menentukan makna field secara andal. Normalisasi nomor telepon, pertahankan kode negara, dan periksa nilai yang berisi koma, tab, titik koma, jeda baris, atau angka nol di awal sebelum mengekspor.

Gunakan UTF-8 untuk mempertahankan nama yang memiliki aksen. Nilai teks vCard memerlukan escaping untuk garis miring terbalik, koma, titik koma, dan jeda baris; baris yang dihasilkan juga harus dilipat ketika melebihi batas panjang baris vCard. Uji beberapa data sebelum mengimpor file besar, lalu periksa kontak duplikat, field yang terpotong, foto yang tidak didukung, serta pemetaan nama atau jenis telepon yang salah.

TXT vs VCARD: perbandingan format

Bagaimana format TXT dan VCARD dibandingkan pada properti yang paling penting untuk konversi ini.

Perbandingan format file TXT dan VCARD
Properti .TXT Plain Text File .VCARD vCard
Standar terbuka Ya Ya
Kompresi Tanpa kompresi Tanpa kompresi
Ukuran file umum Sangat kecil Sangat kecil
Terbuka di browser web Ya, secara native Tidak
Pengeditan lanjutan Mudah Mudah
Dukungan metadata Tidak ada Dasar
Dapat dibaca teks biasa Ya Ya
Paling cocok untuk Pertukaran data Berbagi dan distribusi
Diperkenalkan — 1996
Pengembang — IETF
Tipe MIME text/plain text/vcard

Basis data saat ini tidak berisi txt file converter.

Pertanyaan yang sering diajukan

Apakah konversi TXT ke vCard akan mempertahankan semua detail kontak saya?

Hanya kolom kontak yang dapat diidentifikasi dalam file TXT terstruktur yang dapat ditransfer dengan andal. Kolom yang tidak dikenali, pemformatan, dan teks lainnya mungkin dihilangkan atau ditempatkan di kolom catatan, bergantung pada aturan konversi.

Bisakah daftar kontak TXT diubah menjadi beberapa vCard?

Ya, jika file TXT memiliki pemisah yang jelas antar kontak dan label kolom yang konsisten. Tanpa penanda tersebut, beberapa orang mungkin digabungkan menjadi satu kontak atau satu orang mungkin terbagi menjadi beberapa kontak.

Mengapa nama atau nomor telepon salah setelah TXT dikonversi ke vCard?

TXT tidak memiliki struktur daftar kontak universal, sehingga koma, tab, jeda baris, header, dan format nomor telepon dapat ditafsirkan secara keliru. Label dan delimiter yang konsisten penting untuk pemetaan kolom yang akurat.

Apakah konversi TXT ke vCard akan mempertahankan nama beraksen dan karakter khusus?

Biasanya, jika encoding teks sumber dan encoding karakter vCard ditangani dengan benar. Ketidakcocokan dapat menghasilkan aksen atau simbol lain yang berantakan, dan kompatibilitas juga bergantung pada versi vCard yang didukung oleh buku alamat.