# ICS Viewer

> .icsカレンダーファイルをブラウザで開き、予定の時刻・場所・参加者を一覧と月表示で確認。CSVにも書き出せます。ファイルはどこにもアップロードされません。

- URL: https://bytescope.dev/ja/ics-viewer/
- Locale: ja · Also: [en](https://bytescope.dev/en/ics-viewer.md) · [zh-Hant](https://bytescope.dev/zh-Hant/ics-viewer.md)
- Runs: カレンダーはこのデバイス上で読み込まれます。予定、参加者、場所などの情報はページ内で解析され、外部に送信されることは一切ありません。アップロードもアカウントも不要で、個人のカレンダーに勝手に追加されることもありません。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

`.ics` ファイルは、Google カレンダー、Outlook、Apple カレンダー、そして各種の会議予約システムが、招待状の添付やスケジュールのエクスポートとして渡してくるものです。ところがダブルクリックすると、中身を見る前に自分のカレンダーへ取り込まれてしまうのが普通です。代わりにこのページへドロップすれば、その場で解析されます。予定ごとに開始・終了、場所、主催者、参加者、ステータスを一覧で表示し、月表示でスケジュールが実際に各週へどう並ぶかも確認できます。

ファイルはこのマシンから一歩も外に出ません。カレンダーのエクスポートには、誰と・いつ・どこで会うかがそのまま書かれています。ただ中身を読みたいだけなのに、それを見知らぬサーバーへ渡す理由はないはずです。解析も月表示のグリッドもCSVの生成もすべてブラウザ内で完結しており、そもそもアップロード先が存在しないので、誤って送信してしまうこともあり得ません。

繰り返し予定は、答えを確実に出せる範囲だけ展開します。`FREQ=DAILY`・`FREQ=WEEKLY`・`FREQ=MONTHLY` に `INTERVAL`、`BYDAY`、`COUNT`、`UNTIL` を組み合わせたルールは計算してカレンダーに描画します。その範囲を超えるもの——`BYSETPOS` や `FREQ=YEARLY`、このパーサーが完全には理解できないルール——は、生のルール文字列をそのまま表示して計算しません。間違った日付を黙って作り出すカレンダーより、「このルールは複雑だ」と正直に認めるカレンダーのほうがましだからです。

時刻はファイルに書かれたとおりに表示します。ページはタイムゾーンのデータベースを持たないため、`TZID=Europe/Berlin` 付きの値や末尾に `Z` が付くUTC値は、黙ってあなたのタイムゾーンへずらすのではなく、その基準を明示したまま表示します。ダブルブッキングは、まさにこのずれから生まれるものです。CSVエクスポートも同じ方針で、書かれたとおり1予定1行、繰り返しルールは専用の列に保持するので、表計算ソフトへ持っていく途中でスケジュールの情報が失われることはありません。

## Limits

Does not subscribe to calendar feeds or edit events; it previews an .ics file.

## FAQ

### カレンダーファイルはどこかにアップロードされますか？

いいえ。ブラウザがあなたのディスクからファイルを読み、ページ内で解析し、CSVもローカルで生成します。サーバーもアカウントも介在せず、タブを閉じればコピーはどこにも残りません。

### カレンダーに取り込まずに .ics ファイルを開くには？

まさにこのページの出番です。ファイルをドロップするだけで、自分のカレンダーに一切触れずに予定の一覧と月表示を確認できます。このページはGoogle カレンダーやOutlook、Apple カレンダーへのアクセス権を持たないので、何かが勝手に追加されることはありません。

### どの繰り返し予定がカレンダーに展開されますか？

よくある形です：`FREQ=DAILY`・`FREQ=WEEKLY`・`FREQ=MONTHLY` と、`INTERVAL`、`BYDAY`、`COUNT`、`UNTIL` の組み合わせ。これらは正確に計算します。毎月31日の予定は、31日のない月には30日へずれるのではなくその月をスキップする——というルールも含めてです。

### 対応していない繰り返しルールはどうなりますか？

生の `RRULE` 文字列と計算を断った理由を添えて別枠に表示し、その予定自体の `DTSTART` だけを描画します。近似の繰り返しをでっち上げることはしません。カレンダー上のもっともらしい間違った日付こそ、会議を一つ失わせる失敗だからです。

### 時刻は自分のタイムゾーンに変換されますか？

いいえ、これは意図的な仕様です。ページはタイムゾーンのデータベースを持たないので、`TZID=` 付きの値や `Z` で終わるUTC値は書かれたまま、基準を明示して表示します。推測のルールで変換するより、ファイルが実際に言っていることをそのまま見せるほうが安全です。

### 予定をExcelやGoogle スプレッドシートに持っていけますか？

はい。必要な列を選んでCSVをダウンロードしてください。UID、件名、開始、終了、終日フラグ、場所、説明、ステータス、主催者、参加者、カテゴリ、繰り返しルールから選べます。BOMのオプションをオンのままにしておくと、日本語などのタイトルもExcelで正しく表示されます。

### CSVには繰り返し予定の回ごとに1行入りますか？

いいえ。CSVはファイルをそのまま写します。書かれたとおり `VEVENT` ごとに1行で、`RRULE` は繰り返しルールの列に入ります。繰り返しの展開は月表示の役割なので、どこまで先の月までスクロールしたかでエクスポートの中身が変わることはありません。

### ファイルが壊れていたり、そもそもカレンダーではなかったら？

何が悪いのかを具体的に伝えます。`BEGIN:VCALENDAR` 行がない、ブロックが閉じられていない、日付が解析できない、期間の書式がおかしい——それぞれに、原因となった行番号付きのメッセージが表示されます。正常に解析できた予定は捨てずにそのまま表示します。

## Related tools

- [VCF to CSV Converter](https://bytescope.dev/ja/vcf-to-csv.md) — .vcf 連絡先エクスポートを Excel で正常に開ける CSV に変換します。
- [Timestamp Converter](https://bytescope.dev/ja/timestamp.md) — Unix タイムスタンプと ISO 日付を相互変換します。
- [File Type Identifier](https://bytescope.dev/ja/file-type.md) — 拡張子が誤っている場合や存在しない場合に、バイトデータからファイル形式を判別します。
