VCF を CSV に変換

ここで VCF を CSV に変換できます。無料、アカウント不要です。ファイルを上の枠に落とせば、数秒で結果がダウンロードできる状態になります。 変換はお使いのブラウザーの中で行われるので、ファイルはアップロードされません。Windows でも macOS でも Linux でも、iPhone でも Android でも同じように動き、通信を切っても動き続けます。

  • 処理される場所 ブラウザーの中です。ファイルがアップロードされることはありません。
  • 作り直し CSVはVCFとは仕組みが違います。非可逆コーデックのような段階的な劣化ではありません。CSVが表現できるものは忠実に再現され、対応するものがないものはまったく残りません。
  • ファイルサイズの上限 1ファイルあたり100MBまで。無料、アカウント不要です。
  • 知っておきたいこと 繰り返し現れる項目——電話番号が複数、出席者が複数——は、勝手に列を増やして散らすのではなく、1 つのセルにまとめられます。繰り返しの規則、アラーム、添付は表に収まる場所がないため、省かれます。

一度に100ファイルまで。フォーマットが混ざっていても構いません。

アドレス帳の変換は、読むためではなく移すための作業

連絡先を読むために変換する人はいません。スマートフォンのアドレス帳を CRM へ、退職する同僚の連絡先を共有アカウントへ、Outlook のリストをメール配信ツールへ。何かを移すためにファイルが存在します。

移す先が何を求めているかが重要になります。CRM の取り込み画面は「携帯電話」「勤務先メール」といった決まった列名を求めますが、vCard にはその概念がなく、種類のラベルが付いた電話番号のリストが、順不同でいくつでも入っています。このページの内容は、その食い違いをどう扱うかという話です。

9 列にまとめる理由

各連絡先は氏名、姓、名、組織、役職、メール、電話、住所、備考という 9 列の行になります。複数を持てる 3 つの列は、種類のラベルを添えてセミコロンで区切って一つのセルにまとめられます。

番号付きの列にする方法も考えられますが、どちらの方向でも問題が起きます。5 列にすれば 6 つ番号を持つ人の一つが消え、最大値に合わせれば大半の行が無意味な空欄だらけになり、四番目の番号が人によって FAX だったり自宅の番号だったりして意味が一定しません。まとめておけば、実際にどんな形かを保ったまま、分割は取り込み先の都合が分かった時点で行えます。

電話とメールのセルを取り込み用に分割する

ほとんどの連絡先が同じ形をしているなら、表計算ソフトの「区切り位置」でセミコロンを指定すれば一度で分割できます。その後、種類を示す接頭辞を検索置換で取り除きます。

形がばらばらなら、Power Query の「区切り記号による列の分割 — 行へ」を使うと、番号ごとに一行になり、そこから種類ごとにピボットして列名を付け直せます。CRM に複合セルのまま渡すよりも安全です。多くの CRM はそのまま受け入れて丸ごと保存してしまい、結局誰の番号にも発信できないアドレス帳になります。

住所の列はどの部分がどれか分からなくなる

vCard の住所は、私書箱、番地補足、番地、市区町村、都道府県、郵便番号、国という 7 つの構成要素を持つ構造化された値です。多くのカードはこのうち複数を空欄にしています。

空の要素は取り除かれ、残った部分がカンマでつながれます。結果として読みやすい一つの住所文字列にはなりますが、どの部分が郵便番号でどの部分が番地なのかを示す情報は失われます。住所を市区町村や郵便番号ごとの別列として扱いたい場合は、手作業での見直しが必要になります。

構造化された氏名は、読む順番とは逆になっている

vCard は氏名を二重に持っています。表示用の一続きの文字列は name 列に入り、姓・名・追加の名・敬称の順に並んだ構造化された値は、姓の列と名の列にそれぞれ振り分けられます。

両方を残しているのは、二つがしばしば食い違うからです。名刺をスキャンして作られたカードは表示用の名前だけが埋まっていることが多く、構造化された値が空のことがあります。姓の列で並べ替えるのは正しいときと、代わりに name 列を使うべきときがあり、両方が見えていることでその判断ができます。

9 列に含まれないもの

現代の vCard は写真、誕生日、複数のウェブアドレス、インスタントメッセージのハンドル、位置情報、タイムゾーン、カテゴリー、ベンダー独自の X- 拡張フィールドを持てますが、これらはどれも出力に含まれません。

特に写真はファイルの大部分を占めることが多く、五百件のエクスポートが数百キロバイトではなく数メガバイトになる主な理由です。表に収まるものではないため、意図的に対象外としています。誕生日やウェブサイトが必要な場合、元の vCard ファイルの側にはまだ残っています。

折り返された行と、古いエクスポートの符号化

この形式とカレンダー用の姉妹形式は、どちらも長い値を 75 オクテットで折り返し、行頭のスペースかタブで継続を示します。この変換ではそれを結合してから解析するため、長い備考や住所が折り返し位置で切れることはありません。

対応していないのは quoted-printable という符号化方式です。vCard 2.1 は ASCII 以外の文字をこの方式で書き、たとえば Müller を M=C3=BCller のように表現します。可能であれば元のソフトで vCard 3.0 か 4.0 として書き出し直し、それが難しければ変換前に別途デコードする必要があります。

種類のラベルはカードそのものから来る

電話番号やメールアドレスの前に付くラベルは、カードが持っている種類の指定を小文字にしたものです。一つの番号が複数の種類を持つ場合は最初の一つだけが使われるため、work と voice の両方が指定されていれば work になります。

このラベルはソースによって cell だったり mobile だったり iphone だったりと表記が揃いません。取り込み先の想定に合わせて、列全体を一括で検索置換するのが手間の少ない対処です。

連絡先が個人情報である以上、ここには何も残らない

変換はこのブラウザータブの中の JavaScript で行われます。エンジンのダウンロードもアップロードも発生せず、アカウント登録も一日あたりの上限もありません。

アドレス帳は他人の氏名や電話番号、自宅住所といった個人情報の集まりです。これを見知らぬ変換サービスにアップロードすることは、記録が必要になる第三者提供にあたりかねません。ここには送信という行為自体がありません。CSV から VCF へ戻す変換をあえて用意していないのも同じ理由からです。どの列が携帯でどの列が自宅かを推測すると、取り込んだ時に正しく見えて実は誤っているファイルができてしまうためです。

VCF を CSV に変換する手順

  1. お手元の VCF ファイル をこのページに落とすか、押してファイルを選んでください。
  2. 変換先に CSV を選びます。変換はブラウザーの中で行われ、ファイルはアップロードされません。
  3. できあがった CSV ファイル をダウンロードします。

VCF と CSV——何が変わるか

VCFとCSVの比較
VCFCSV
正式名称vCard 連絡先Comma-Separated Values
拡張子.vcf, .vcard.csv
メディアタイプtext/vcardtext/csv
最初の公開19951972
仕様RFC 6350RFC 4180
ライセンスオープン標準オープン標準
現在の位置づけ現行現行
ブラウザで開けるか対応なし対応なし
代わりに検討される形式XLSX, JSON, Parquet

結果を開く

開くプログラムが重なりません。VCF はGoogle Contacts、Apple Contacts、Microsoft Outlookで、CSV はMicrosoft Excel、LibreOffice Calc、pandasで開きます。結果を渡す相手には後者のどれかが要ります。

どちらの形式が何のためのものか

VCF は 1995 年に登場しました。 RFC 6350 で規定されています。ファイルが、それを書いた道具より長く生きなければならないなら、この一点には値打ちがあります。

CSV は 1972 年から使われています。規定は RFC 4180 です。Microsoft Excel、LibreOffice Calc、pandasがこの形式を読めます。

CSV は 1972 年、VCF は 1995 年に登場しました。人に渡すならたいてい古いほうが安全で、新しいほうは同じ仕事をより少ないバイト数で片づけます。

VCF から CSV:よくある質問

VCF ファイル はどこかにアップロードされますか。

いいえ。この変換は完全にブラウザーの中で行われるので、ファイルが端末から出ることはありません。ご自分で確かめられます。開発者ツールのネットワークタブを開いて、何か変換してみてください。ページそのものと、このサービスの費用をまかなっている分析・広告のリクエストは見えますが、あなたのファイルを運んでいるリクエストはひとつもありません。

VCF から CSV への変換は無料ですか。

はい。アカウントも透かしもなく、消費される 1 日の割り当てもありません。お使いの機械の上で動くので、何度でも戻ってきていただけます。ブラウザーが扱えるのは 100 MB までのファイルで、一度に 100 本です。

VCF を CSV に変換すると品質は落ちますか。

VCF と CSV は、内容の表し方が根本から違います。ですからこの変換は複製ではなく再構築です。誠実ではありますが、1 バイトも同じというわけではありません。 繰り返し現れる項目——電話番号が複数、出席者が複数——は、勝手に列を増やして散らすのではなく、1 つのセルにまとめられます。繰り返しの規則、アラーム、添付は表に収まる場所がないため、省かれます。

できあがった CSV ファイル を開くのに、何かインストールが必要ですか。

変換には要りません。すでに開いているブラウザーの中で行われます。そのあと結果を開くには、お使いの端末がふだん Comma-Separated Values を表示するのに使っているソフトが必要です。

これらのフォーマットについて