調査

ブックマークの書き出しが取り込めないとき:実測した結果

公開されている実際の書き出しファイルをブックマークの取り込み機能に通し、何が読み込まれ、何が壊れるかを測定しました。ファイルも、解析コードも、実行も、再現でき、日付が記録されています。

無料プランあり · クレジットカード不要 · Chrome, Edge, Firefox, Safari, iOS, Android

執筆: Marqlyチーム · 更新: 2026年10月6日 · テストの進め方(英語)

ブックマークツールを乗り換えるときは、いつも同じ結末になりがちです。書き出して、アップロードして、そして……取り込み機能に「ブックマークが見つかりません」と言われるか、すべて取り込まれてもフォルダが崩れて日付が消えているか。私たちは当て推量をやめました。公開されている実際の書き出しファイルをブックマークの取り込み機能に通して、何が読み込まれ、何が壊れるかを正確に測りました。ファイル、解析コード、実行は、再現でき、日付も記録されています。

主な発見

  • 261件中0件。 Pocketの実際のril_export.htmlは、何も解析されませんでした。取り込み機能が読むNetscape形式ではなく、<ul> のリストだからです。
  • 43件中43件。 ChromeのHTML書き出しは完全に取り込まれました。フォルダは保たれ、タグはゼロです(Chromeはタグを書き出しません)。
  • 412件中306件。 Raindropの書き出しはすべての項目が解析されましたが、説明の紐づけのバグで、メモのある保存のおよそ4件中3件でメモの位置がずれました。このバグは修正済みです。
  • 保存日は残りません。 追加日は読み取られたあと、保存の段階で破棄されました。時系列の記録は、書き出しファイルだけが持っています。
  • 失敗は安全側に倒れます。 不正なファイルでは、半端に取り込まれたライブラリではなく、はっきりしたエラーが出ました。

方法: 本番の解析コードをそのまま jsdom のテスト環境に持ち込み、ハッシュで固定した公開の書き出しに対して実行しました。node run.mjs で、すべての数字を再現できます。手順の全体はテストの進め方(英語)にあります。

見出し:「HTMLです」では足りない

どの.htmlのブックマークファイルも互換だと思われがちですが、そうではありません。世の中には(少なくとも)2種類のHTMLの形があり、取り込み機能は通常、片方しか読みません。

何をテストしたか

公開されている6つの実際の書き出しファイルを、Marqlyの製品と同じNetscape形式(<DL>)の解析機能に通しました。ファイルはSHA-256で固定しているので、バイト列が一意に定まります。コーパスとハッシュは下のリンクからダウンロードできます。私たちは誰のデータも集めていません。持ち主がすでに自分のリポジトリで公開していたファイルを使いました。

実測の結果(2026年9月26日の実行、Netscape形式の取り込み機能)

取り込み元のアプリ ファイル形式 件数 取り込み機能の結果
Chrome(拡張機能での書き出し) Netscape <DL> 43 43/43を解析。フォルダは保たれました。Chromeにはタグがないため、タグは届いていません。
Raindrop.io(ユーザーの書き出し) Netscape <DL> 412 412/412を解析。ただし、説明の紐づけのバグで、メモのある項目のうち306/412(おおむね4件中3件)でメモがずれました。修正済みです。詳細は下記。
Pocket(公式のril_export.html) UL/LIのリスト(<DL>ではない) 261 0/261を解析。ファイルはHTMLとして構造的に正しいものの、取り込み機能が読むブックマーク形式ではありません。「ブックマークが見つかりません」と表示して、安全に失敗します。
誤ったラベルの、または壊れたアーカイブ2つ 壊れたHTML — ブックマーク0件と、はっきりした検証エラー。クラッシュも、半端に取り込まれたライブラリもありません。

確認した情報源(2026年10月5日時点): Raindropの取り込みヘルプには「Pocket — HTMLファイルとして書き出す」と書かれており、これはRaindropの解析機能については正しい記述です。私たちの取り込み機能とは別の仕組みで、「HTML」にも互換性のない複数の形があるというのが、まさに私たちの主張です。Firefoxの書き出しに関するドキュメントは、私たちがきれいに読み取れたNetscape形式のHTMLを説明しています。私たちが測ったのは自分たちの取り込み機能だけです。他社が同じファイルで失敗するかどうかは試していませんし、失敗すると主張もしません。

見落としやすい3つの失敗

  • 説明が違うリンクに付いた。 Raindropの書き出しは、各ブックマークの下に <DD> のメモを入れ子にします。本番の解析機能は、メモの一部を隣の項目に付けてしまい、説明の項目が412件中306件で食い違いました。ファイルは「問題なく取り込めた」ように見えて、実は微妙に間違っている。気づけないので、移行のバグとしては最悪の部類です。修正により412件中258件が正しくなり、残りは本当にメモがない項目です。
  • 元の保存日は落ちる。 解析機能は ADD_DATE/created のタイムスタンプを確かに読みます。ところが保存の段階で破棄され、取り込んだ項目はすべて取り込んだ日の日付になります。時系列の記録はファイルだけです。これを、あとから気づかせるのではなく、はっきり書いておきます。Marqlyへの取り込みでは、保存日は保たれません。(Raindrop自身のCSV仕様では、createdを取り込めると示されています。形式もツールも違うことの、もうひとつの表れです。)
  • 安全に失敗するのは長所。 Pocketの0/261と壊れたアーカイブの実行では、一部だけ書き込まれるのではなく「ブックマークが見つかりません」と出ました。ライブラリの半分を黙って取り込む取り込み機能のほうが、拒否する機能よりも危険です。

乗り換えるときの意味

  • Pocketから移るなら、取り込み機能にril_export.htmlを渡して終わりだと思わないでください。アーカイブを書き出し、list.csvを見つけて、それを取り込んでください。どちらのファイルも、取り込む前にブックマークファイルビューアーとPocket書き出しコンバーターでプレビューできます。仕組みは、英語の記事Pocketの書き出しファイルには何が入っているかにあります。
  • ブラウザのNetscape形式HTML(Chrome、Edge、Firefox、Safari)の書き出しは、持ち運びやすさでは最良です。Marqlyを含め、ほとんどのツールが読む形式です。
  • どのツールを選ぶ場合も、書き出したファイルは保管してください。 日付と元の構造は、往復するとほとんど残りません。
  • 移行ガイドの対応表は、取り込み機能の現行の挙動に基づいています。取り込み後は念のため、フォルダの先頭の保存を確認してください。

方法と再現性

テスト基準(英語)に沿った手順です。対象の解析機能は、本番のブックマーク解析機能をそのまま写したものです。入力は、公開されている実際の書き出しファイル(第三者のドットファイルやコーパス)で、SHA-256により正確なバイト列を固定しています。各項目は、ファイルが宣言している内容(URL、タイトル、タグ、説明、フォルダ、日付)と、項目ごとに突き合わせて確認しました。これは実際の入力に対する1つの取り込み機能の忠実度テストであり、ベンダー同士の優劣比較ではありません。コーパスや方法を変えたときは、日付つきの変更メモとともにこのページを更新します。

コーパスの一覧(CSV、SHA-256固定)をダウンロード

この問題を解決するライブラリが欲しいなら

Marqlyは、ブラウザのHTML書き出しとPocketのlist.csvを読み込み、保存したものを意味で探せるようにします(Proのセマンティック検索、英語)。移行ガイド: Pocketから移行、Raindropから移行、ブラウザのブックマークを移行。

よくある質問

Pocketの書き出しは、どのファイルを取り込めばよいですか?

書き出したアーカイブの中にあるlist.csvを取り込んでください。ril_export.htmlは、Marqlyの取り込み機能が読むNetscape形式ではないため、261件の実測で保存0件と判定されました。

取り込むと保存日は引き継がれますか?

引き継がれません。保存日は読み取られたあと、保存の段階で破棄されるため、取り込んだ項目はすべて取り込んだ日の日付になります。書き出しファイルが、唯一の時系列の記録です。

この調査は他社の取り込み機能との比較ですか?

いいえ。これは1つの取り込み機能を実際の入力で測った忠実度のテストで、ベンダー同士の優劣比較ではありません。他社の取り込み機能が同じファイルで失敗するかどうかは試しておらず、失敗するとも主張しません。

ホーム · Marqly