mac用户可通过三种方式将safari书签导出为csv:①终端命令组合(需plutil与python3);②chrome插件免配置导出;③automator制作一键应用。全程无需第三方软件或云服务,数据本地处理。

Mac系统自带的Safari浏览器不提供直接导出为CSV的选项,但通过组合系统自带工具与轻量脚本,可在1分钟内完成全部书签到CSV的转换,无需安装第三方应用或登录云服务。
用Safari+终端命令一键生成CSV
这一步依赖Safari书签的plist原生结构,跳过图形界面操作,全程在终端执行。
第一步:打开访达,按Shift+Cmd+G,输入路径:~/Library/Safari/Bookmarks.plist,回车定位该文件。
第二步:复制该文件到桌面备用——因为后续操作会读取它,但不修改原始文件。
第三步:打开终端,依次执行以下两条命令(注意替换路径中的用户名):
plutil -convert xml1 ~/Desktop/Bookmarks.plist
python3 -c "import plistlib,csv,sys; b=plistlib.load(open(sys.argv[1],'rb')); f=open('bookmarks.csv','w',newline=''); w=csv.writer(f); w.writerow(['Title','URL','Folder']); def walk(items,path=''): for i in items: if i.get('Title') and i.get('URL'): w.writerow([i['Title'],i['URL'],path]); if 'Children' in i: walk(i['Children'], path + '/' + (i.get('Title') or 'Untitled')) ; walk(b.get('Children',[])); f.close()" ~/Desktop/Bookmarks.plist
执行完成后,桌面上将生成 bookmarks.csv,双击即可用Numbers或Excel打开。注意:若提示“command not found: python3”,请先在Mac上安装Xcode Command Line Tools(运行 xcode-select --install)。
用Chrome插件免配置导出
如果你日常使用Chrome而非Safari,这个方法更省心——不用碰终端、不解析plist、不写代码。
方法一:安装扩展「Bookmark Manager CSV Exporter」
Miller (mlr) 是一个命令行工具,用于查询、整形和重新格式化名称索引数据,如 CSV、TSV、JSON 和 JSON Lines。它将 awk、sed、cut、join 和 sort 的功能整合到一个专为结构化数据处理而构建的单一工具中。
在Chrome网上应用店搜索该名称,添加后点击地址栏右侧插件图标→选择「Export All Bookmarks」→自动下载CSV文件。
方法二:使用「Bookmark Sidebar」扩展的内置导出
启用该扩展后,按Cmd+Shift+B呼出侧边栏→右键任意空白处→「Export bookmarks as CSV」→保存即完成。
【注意】两个插件均只请求“bookmarks”权限,不上传任何数据到服务器,本地处理完毕即关闭连接。
用Automator制作可重复点击的导出工作流
适合需要定期导出、又不想每次开终端的用户。制作一次,以后双击运行即可。
第一步:打开“自动操作”应用(Automator),新建“快速操作”文档。
第二步:左侧库中拖入「运行Shell脚本」动作,把Shell设为/bin/zsh,在文本框中粘贴以下内容:
cd ~/Desktop<br>cp ~/Library/Safari/Bookmarks.plist ./<br>plutil -convert xml1 Bookmarks.plist<br>python3 -c "import plistlib,csv; b=plistlib.load(open('Bookmarks.plist','rb')); w=csv.writer(open('Safari-Bookmarks-$(date +%Y%m%d).csv','w',newline='')); w.writerow(['Title','URL','Folder']); def f(c,p=''): for i in c: if i.get('Title') and i.get('URL'): w.writerow([i['Title'],i['URL'],p]); if 'Children' in i: f(i['Children'], p+'/'+(i.get('Title') or 'Root')); f(b.get('Children',[]))"
第三步:保存为「导出Safari书签为CSV」,文件类型选「应用程序」,存到桌面。
以后只需双击这个App图标,几秒后桌面上就会出现带日期的CSV文件,如 Safari-Bookmarks-20260917.csv。










