ByteScope

VCF to CSV Converter

把 .vcf 通訊錄匯出檔轉成 Excel 打得開的 CSV,也能轉回去。整本通訊錄都不會離開你的瀏覽器。

通訊錄就在你的電腦上、由這個頁面讀取。姓名、電話、地址都在頁面裡解析,什麼都不會送出去——不上傳、不用帳號、伺服器上也不會有副本。

把 .vcf 聯絡人檔案丟到這裡

支援 vCard 2.1、3.0、4.0——也可以點一下選檔。一次丟好幾個也沒問題。

再丟一次會整批換掉清單,失敗的檔案不會把舊的列留在畫面上。

CSV 轉 vCard

反方向:丟一份 CSV 進來,拿回可以匯入手機或 Google 聯絡人的 .vcf。

把 CSV 丟到這裡

一次一個檔案。逗號分隔、要有標題列——也可以點一下選檔。

欄位標題會跟這個工具匯出的欄名(Full Name、Email、Phone 等)比對。認不得的欄位會保留成 X- 屬性,不會被丟掉。

關於這個工具

.vcf 是手機、Google 聯絡人或 Outlook 在你匯出通訊錄時給你的檔案——偏偏試算表軟體就是打不開它。把檔案丟進來,所有聯絡人都會直接在頁面上解析:姓名、電話、Email、地址、公司、生日、備註,先排成一張看得到的表格,確認沒問題再匯出。接著下載 CSV,用 Excel、Numbers 或 Google 試算表直接開。

你的通訊錄不會離開這台電腦。這正是不去那些「請上傳檔案」網站、改在這裡轉的理由:通訊錄大概是多數人手上最敏感的一份資料,只為了換個檔案格式就把它貼到陌生人的伺服器上,實在不划算。解析、預覽、匯出全部在瀏覽器裡完成,什麼都不會送出去——根本沒有伺服器可以送。

那些會弄壞其他轉換器的匯出檔,這裡都吃得下。vCard 2.1、3.0、4.0 全部支援,包括 2.1 的 quoted-printable 編碼——舊手機匯出的中文名字會變成 =A4=FB=A5=CD 這種東西,原因就在這裡。用 Big5、GBK、Shift_JIS 或 EUC-KR 存的檔案會自動偵測,猜錯了也能手動切換,表格會跟著即時重讀。每一條解析警告都附上出錯的行號,只讀到一半的卡片看得見,不會默默消失。

反方向也有:丟一份 CSV 進來,拿回一個 .vcf,直接匯入手機或 Google 聯絡人。欄位標題會跟這個工具匯出的欄名比對,認不得的欄位會保留成自訂的 X- 屬性,而不是直接丟掉。挑好 CSV 要哪些欄位、讓 UTF-8 BOM 選項保持開啟(Excel 才能正確顯示非英文的名字),就大功告成了。

常見問題

我的聯絡人會被上傳到某個地方嗎?

不會。檔案由你電腦上的瀏覽器讀取、在頁面裡解析,CSV 也在本機產生。沒有東西送到伺服器、不需要帳號,關掉分頁之後任何地方都不會留下副本。

怎麼用 Excel 開 VCF 檔?

Excel 根本讀不懂 vCard——這就是檔案看起來像亂碼、或乾脆打不開的原因。在這裡轉成 CSV、BOM 選項保持開啟,然後對結果按兩下:Excel 會把它當一般試算表打開,一列一個聯絡人。

為什麼中文或帶重音符號的名字在 Excel 裡變成問號?

除非檔案開頭有 UTF-8 BOM,否則 Excel 會假設 CSV 用的是 Windows 的本機編碼。BOM 選項預設開啟,就是為了這件事。如果還沒匯出名字就已經不對,來源檔案八成不是 UTF-8——在檔案那一列換個字元集,預覽就會自己修正。

支援哪些 vCard 版本?

2.1、3.0、4.0,混用的檔案也可以。各版本的規則分開遵守而不是取平均:3.0 和 4.0 的反斜線跳脫會還原,2.1 沒有這回事就保持原樣,而 2.1 的 ENCODING=QUOTED-PRINTABLE 值會用卡片指定的字元集解碼。

一個聯絡人有好幾組電話或 Email 時會怎樣?

會合併進同一格,用分號加空格隔開,號碼一個都不會掉,列數也跟聯絡人數一致。地址也用同樣方式攤平,從街道一路排到國家。

可以把 CSV 轉回 .vcf 嗎?

可以——頁面最下面的面板就是做這件事的,輸出 vCard 3.0 或 4.0。跟這個工具自己的欄名相符的標題會直接對回 vCard 屬性;其他欄位保留成自訂的 X- 屬性,來回轉一趟也不會偷偷弄丟你多出來的欄位。

丟進來的檔案根本不是 vCard 時,工具會怎麼做?

會明確講出問題在哪,而不是顯示一張空表。0 位元組的檔案、丟錯面板的 CSV、整份找不到 BEGIN:VCARD 行的檔案、用選定字元集解不開的檔案,各自有各自的訊息——而且載入失敗會清掉前一次的結果,不會把舊的列留在畫面上。

聯絡人卡片裡的照片轉得過去嗎?

轉不過去。CSV 的儲存格塞不下內嵌的 JPEG,所以照片會被讀取但不會匯出;CSV 只帶文字欄位。原本的 .vcf 裡照片還在,在意的話把原檔留好。