piapia123
ja

vCard 作成

テキスト

処理はすべてブラウザ内で完結します。データは送信されません

入力
ファイルをここにドロップすると読み込めます
出力

「名前, 電話, メール」のリストを、連絡先に取り込める vCard テキスト(`.vcf`)にします。1 行に 1 人、メールは省略できます。名前に空白や日本語が入っていても構いません。バージョンは 3.0 と 4.0 に対応し、組織と住所も付けられます。取り込みの成否を分けるのは 2 点です。折り返しは UTF-8 のバイト数で行います(RFC 6350 は 1 行を 75 オクテット以下と定めており、日本語は 1 文字 3 バイトなので、文字数で折ると名前が途中で切れます)。そしてテキスト中の `\`・`;`・`,`・改行はエスケープが必要です(`;` と `,` は vCard の構造区切りで、エスケープしないと名前が 2 つの項目として読まれます)。すべて端末内で生成します。

機能

  • 1 行に 1 人:`名前, 電話, メール`(メールは省略可)
  • vCard バージョンは 3.0 / 4.0
  • 組織(`ORG`)と住所(`ADR`)を任意で追加
  • UTF-8 のバイト数で折り返し、1 行 75 オクテット以下。日本語も途中で切れません
  • `\`・`;`・`,`・改行を正しくエスケープ
  • 3.0 は `TEL;TYPE=CELL`、4.0 は `TEL;TYPE=cell` を出力
  • 電話番号のスペース・ハイフン・括弧を削除可能(`+` は残す)
  • 連絡先の件数を表示し、`.vcf` はまとめてコピーできます

使い方

  1. 「名前, 電話, メール」を 1 行に 1 人ずつ入力します
  2. vCard バージョンを選び、必要なら組織と住所を入力します
  3. 生成した .vcf テキストがすぐに表示されます
  4. コピーしてファイルとして保存し、スマートフォンや連絡先に取り込みます

よくある質問

名前が長いと 2 行に折り返されるのはなぜですか?
RFC 6350 が vCard の 1 行を 75 オクテット(バイト) 以下と定めており、超える部分は次の行に折り返す(先頭に空白を 1 つ付ける)ためです。本ツールは UTF-8 のバイト数で折るので、複数バイトの日本語 1 文字を途中で切りません。文字数で折ると、ラテン文字 40 字の名前(40 < 75)は折られず、日本語 40 字の住所だけが折られ、取り込み時に問題になります。
セミコロンとカンマをエスケープするのはなぜですか?
`;` と `,` が vCard の構造区切りだからです。`N:姓;名;;;` はセミコロンで名前の各部分を区切り、複数の値はカンマで区切ります。名前や組織の中にエスケープされていないセミコロンが 1 つあると、クライアントは 2 つの項目として読み取ります。そこで本ツールは `\`・`;`・`,`・改行をエスケープし、取り込み時に元の文面へ戻るようにします。
「電話の区切りを削除」で国際番号の `+` も消えますか?
消えません。削除するのはスペース・ハイフン・括弧・ドットで、`+` と数字は残します。`+` は国際プレフィックスの一部で、消すと発信できなくなることがあるためです。
データはアップロードされますか?
いいえ。解析・折り返し・エスケープはすべてブラウザー内で完結し、ページは一切要求を送りません。

関連ツール