エクスポート / インポート (JSON・TSV)
こぴぺったりのデータを JSON または TSV ファイルとして書き出し・読み込みする手順、別端末への移行・バックアップ・世代管理・スプレッドシート連携の活用法、各形式のスキーマを解説します。
「こぴぺったり」のデータは利用者の localStorage 内に閉じているため、サーバーで自動同期されることはありません。代わりに エクスポート / インポート で別端末への移行・バックアップ・世代管理・表計算ソフトとの連携を行います。
形式は次の 2 種類から選べます。
| 形式 | 用途 | 入出力 |
|---|---|---|
| JSON | フルバックアップ。フォルダ階層・全フィールドを完全保存 | 出力時はファイル全体、入力時は 完全置き換え |
| TSV | アイテムだけを表形式で書き出し・読み込み。Excel / Google スプレッドシート連携向き | 入力時は マージ追記 (既存データを保持したまま追加) |
メニューの エクスポート または インポート をタップすると、JSON / TSV を選ぶダイアログが表示されます。
JSON エクスポート / インポート
エクスポートの手順
- 右上の ≡ メニュー を開く
- エクスポート をタップ → ダイアログで JSON を選択
- ダウンロードフォルダに
clipapp-backup-YYYYMMDD-HHmm.jsonという名前のファイルが保存されます
ファイル名にはエクスポート時刻が含まれるため、世代管理が容易です。
エクスポートされるもの
- すべてのフォルダ (階層構造を含む)
- すべてのアイテム (アーカイブ済みも含む)
- 各アイテムのタイトル・本文・タグ・作成/更新日時
エクスポートされないもの
- テーマ設定 (端末ごとに保持)
- 最後に開いたフォルダ ID (端末ごとに保持)
テーマや UI 状態は端末固有のため、別端末で読み込んでも同じ操作環境にはなりませんが、データそのものは完全に再現 されます。
インポートの手順
- 右上の ≡ メニュー を開く
- インポート をタップ → ダイアログで JSON を選択
- 以前にエクスポートした JSON ファイルを選択
- 既存データがある場合は 上書き確認ダイアログ が表示される。確認のうえ確定する
重要: JSON インポートは 完全な置き換え です。マージはされません。既存データを残したい場合は、インポート前に必ずエクスポートでバックアップを取ってください。
インポート時の検証
インポート時、以下の検証が行われます。
- JSON として正しくパースできるか
folders/itemsが配列か- 各オブジェクトの必須フィールド (
id,name,title,content等) が揃っているか
不正な JSON は明示的なエラートーストで弾かれます。中途半端な状態にはなりません。
TSV エクスポート / インポート
TSV (タブ区切り) は アイテムのみ を表形式で書き出し / 読み込みするための形式です。Excel や Google スプレッドシートで開いて一括編集 → 取り込み、というワークフローに使えます。
エクスポートの手順
- ≡ メニュー → エクスポート → ダイアログで TSV を選択
clipapp-items-YYYYMMDD-HHmm.tsvがダウンロードされます
TSV の列構成
1 行目はヘッダー、2 行目以降がアイテムです。列は以下の 6 つに固定:
| 列 | 内容 |
|---|---|
folder |
フォルダ階層をスラッシュ区切りで表現 (例 仕事/メール/お礼) |
title |
アイテムのタイトル |
content |
アイテムの本文。タブ・改行・ダブルクォートを含む値は RFC 4180 風にダブルクォート囲みでエスケープ |
tags |
カンマ区切りのタグ (例 mail,thanks) |
createdAt |
作成日時 (ISO 8601) |
updatedAt |
更新日時 (ISO 8601) |
文字コードは UTF-8 (BOM 付き) なので、Excel でダブルクリックしても文字化けしません。
インポートの手順
- ≡ メニュー → インポート → ダイアログで TSV を選択
- TSV ファイルを選択
- 既存データに 追記 されます (既存アイテムは消えません)
TSV インポート時の挙動
- マージ追記: 既存のフォルダ・アイテムは上書きされず、TSV の各行が新規アイテムとして追加されます
- フォルダパスの自動解決:
folder列のパスを既存フォルダから探し、見つかればそこに追加。無ければ階層ごと新規フォルダを作成します - 空の
folder列 はフォールバックとして「未分類」フォルダに収容 - アイテム ID は新規発番 されます (TSV 内に ID 列はありません)
createdAt/updatedAtが ISO 8601 形式でない場合は、現在時刻が採用されます
Excel / スプレッドシートで編集する流れ
- TSV をエクスポート
- Excel / Google スプレッドシートで開いて編集 (タグの一括追加、フォルダパスの書き換え、新規行の追加など)
- タブ区切り (UTF-8) で保存
- アプリに TSV インポート → 編集分が追記される
注意点
- フォルダ名に
/を含めるとパス区切りと衝突します。TSV 連携を使う場合はフォルダ名に/を使わないでください - タグに
,を含めると、TSV のタグ列で区切りが崩れます (タグ全体をダブルクォートで囲んでも、内部のカンマは区切り扱い) - TSV は アイテム専用 のため、フォルダのみの追加 / 並び替え / 名前変更は JSON で行ってください
- TSV インポートは 追記専用。既存データを置き換えたい場合は JSON を使ってください
活用法
別端末への移行
メインで使っていた PC のブラウザでエクスポート → 移行先 (別の PC、スマホ) で同じファイルをインポート。これだけで完全な引き継ぎができます。
定期バックアップ
ブラウザのデータ削除、シークレットモード切り替え、ストレージ容量超過などで localStorage は消える可能性があります。月に1回 のエクスポートを習慣化すると安心です。クラウドストレージ (Google Drive / iCloud / Dropbox) に保存しておけば、端末破損時にも復旧できます。
世代管理 (大規模変更前のスナップショット)
フォルダの大規模な再構成や、大量アイテムの整理を行う前にエクスポートしておくと、いつでも元に戻せます。
ファイル名に時刻が含まれているため、clipapp-backup-20260505-1430.json のように 何時のスナップショットか が一目で分かります。
JSON のスキーマ
エクスポートされる JSON は次のような形式です。
{
"schemaVersion": 1,
"exportedAt": "2026-05-05T12:34:56.000Z",
"folders": [
{
"id": "f-abc123",
"name": "メール",
"parentId": null,
"order": 0
}
],
"items": [
{
"id": "i-xyz789",
"folderId": "f-abc123",
"title": "お礼メール",
"content": "お世話になっております。...",
"tags": ["mail", "thanks"],
"order": 0,
"archived": false,
"createdAt": "2026-05-01T10:00:00.000Z",
"updatedAt": "2026-05-03T11:30:00.000Z"
}
]
}
schemaVersion は将来データ構造を更新する際の互換性のために予約されています。現在は 1 のみ。
他アプリからのデータ移行
現在は他のメモアプリからの自動インポートには対応していません。手動で対応する場合は、上記スキーマに沿った JSON を作成すれば取り込み可能です。tags の生成、createdAt / updatedAt のタイムスタンプ生成だけ行えば、最低限のフィールドで動作します。