FIRST CH TOOLS / その他 / 50 ICS GENERATOR

カレンダー予定(.ics)ジェネレーター

ウェビナーや打ち合わせの案内に添える「予定に追加」ファイル(.ics)をその場で作ります。タイムゾーンを選べば夏時間の切り替え規則ごと書き出すので、Googleカレンダー・Appleカレンダー・Outlookのどれで開いても同じ時刻になります。終日予定・繰り返し・リマインダーにも対応し、Googleカレンダーへ直接追加するリンクも同時に作れます。

1 — 予定の内容

2 — 日時とタイムゾーン

Start — 開始
End — 終了
所要

3 — リマインダーと詳細

主催者はメールアドレスを入れたときだけ ORGANIZER として書き出します。招待メールの送信は行いません(このファイルは「予定の中身」だけを運びます)。

4 — 出力(.ics)

開始
UTCオフセット
所要時間
予定の件数
iCalendar — event.ics

    

ダウンロードしたファイルはメールに添付するか、サイトに置いてリンクします。受け取った人がファイルを開くと、カレンダーアプリが取り込み画面を出します。

5 — 点検

    6 — カレンダーへ直接追加するリンク

    Googleカレンダー 開く
    Outlook / Microsoft 365 開く

    メールやLPに置く「予定に追加」ボタンのリンク先に使えます。リンクは相手のログイン中のアカウントで開くので、ブラウザで予定を確認してから保存してもらえます。リマインダーはリンクには載らない(カレンダー側の既定が使われる)ため、通知まで指定したいときは .ics を配ってください。

    入力した内容がブラウザの外へ出ることはありません(ファイルの組み立てはすべてこのページの中だけで動いています)。URLパラメータで初期値を渡せます: /ics/?title=打ち合わせ&start=2026-10-01T14:00&end=2026-10-01T15:00&tz=Asia/Tokyo/ics/?title=定例&start=2026-10-05T10:00&repeat=weekly&count=12&alarm=15

    How to Use

    1. 予定を書くタイトル・場所・説明を入れ、開始日時と所要時間を選びます。終日の催しなら「終日の予定にする」にチェックを入れると、時刻のない予定になります。
    2. タイムゾーンを確かめる初期値は端末のタイムゾーンです。海外からも参加するウェビナーなら、開催地のタイムゾーンを選んだうえで「TZID + VTIMEZONE」のままにします。点検欄に出る指摘を読んで、開始と終了の前後関係や繰り返しの終わり方を直します。
    3. 配る「.ics をダウンロード」でファイルを保存し、案内メールに添付するか、サイトに置いてリンクします。ブラウザで直接開いてほしいときは、下のGoogle/Outlookのリンクをボタンに貼ります。

    About This Tool

    .ics は「予定1件ぶんのテキストファイル」です。正式には iCalendar(RFC 5545)といい、BEGIN:VCALENDAR から END:VCALENDAR までの行の並びで予定を表します。カレンダーアプリはこの形式を共通語にしているので、1つ作れば Googleカレンダー・Appleカレンダー(iPhone / Mac)・Outlook・Thunderbird のどれでも取り込めます。メールに添付する、サイトに置いてリンクする、のどちらでも配れます。

    時刻の書き方は3通りあり、選び方で事故が変わります。末尾に Z を付けたUTC、タイムゾーン名を付けた TZID、時刻を書かない終日(VALUE=DATE)です。UTCは単発の予定なら確実ですが、繰り返す予定では夏時間の切り替えで開始時刻が1時間ずれます。このツールの既定である「TZID + VTIMEZONE」は、タイムゾーンの定義(いつ夏時間に入るかの規則)をファイルの中に同梱するので、相手のカレンダーが古いタイムゾーン情報を持っていても同じ現地時刻で開きます。

    UID は「どの予定か」を指す名札です。同じ UID のファイルを再度取り込むと、カレンダーは新しい予定を作らずに既存の予定を上書きします。日時が変わったときの差し替え案内にはこれが便利ですが、同じファイルを別々の予定として配りたいときは困ります。「UIDを振り直す」を押すと新しい名札を振り直せます(SEQUENCE は 0 で固定しています。更新版を配って上書きさせたい場合は、元のファイルの UID を残したまま番号を上げる運用になります)。

    案内メールやLPを作る周辺のツールとして、QRコード生成(会場で読ませる申込URL)・URLパラメータ分解・UTMタグ編集(流入計測のタグ付け)・OGPメタタグ生成ウィザード(SNSでのシェア表示)もあわせてどうぞ。

    .ics でよくある落とし穴

    終日予定の終了日を「最終日」で書く

    DTSTART;VALUE=DATE:20261001
    DTEND;VALUE=DATE:20261002   ← 10/1 の1日だけの予定(終わりは含まない)

    iCalendar の終日予定は終わりの日付を含みません。10月1日だけの予定なら DTEND は 10月2日です。ここを 10月1日にすると、多くのカレンダーで1日短く表示されるか、予定そのものが消えます。このツールは終日にチェックを入れると自動で翌日を書きます。

    繰り返し予定をUTCで書く

    DTSTART:20261001T010000Z    ← 日本時間の朝10時のつもり
    RRULE:FREQ=WEEKLY;BYDAY=TH  ← 夏時間のある地域では途中で1時間ずれる

    UTCは「絶対の瞬間」なので、夏時間のある地域では切り替え日を境に現地時刻が1時間動きます。毎週10時のはずが11時になる、という形で現れます。繰り返す予定は必ず TZID で書き、タイムゾーンの定義(VTIMEZONE)を同梱します。日本には夏時間が無いためこの事故は起きませんが、参加者側のカレンダーが別の地域にある場合でも、ファイルがTZIDで書かれていれば正しく変換されます

    改行を LF のままにする

    BEGIN:VCALENDAR\r\n    ← 仕様上の改行は CRLF

    RFC 5545 は行の区切りを CRLF と定めています。LFだけのファイルでも読めるアプリは多いのですが、取り込み時に無言で失敗する実装があり、原因が分かりにくい部類の不具合になります。手で書き足したり、エディタで開いて保存し直したりしたときは改行コードに注意してください(このツールの出力は常にCRLFです)。

    長い説明文を1行のまま書く

    DESCRIPTION:当日の参加URLと資料は前日にお送りします。お問い合わせは…
     (続きは行頭に半角スペースを1つ置いて折り返す)

    1行は 75オクテットまでで、超える場合は次の行を半角スペース1つで始めて続けます。和文はUTF-8で1文字3バイトなので25文字ほどで折り返しが要ります。折り返しは文字の途中で切ってはいけません(3バイトの真ん中で切ると文字化けします)。このツールは符号位置の境目で折るので、和文の説明でも壊れません。

    カンマやセミコロンをそのまま書く

    SUMMARY:打ち合わせ(見積\,契約)   ← , ; \ と改行はバックスラッシュで逃がす

    iCalendar では ,; が値の区切り文字なので、本文として書くには \, \; のように直前にバックスラッシュを置きます。改行は \n と書きます。逃がし忘れると、タイトルの途中で値が切れて後半が消えたり、取り込み自体が失敗したりします。

    リマインダーが相手の設定で上書きされると知らない

    BEGIN:VALARM
    ACTION:DISPLAY
    TRIGGER:-PT1H    ← Appleカレンダー・Outlookはこの通知を使う

    Googleカレンダーは取り込み時に、アカウント側の既定の通知を優先することがあります。「1時間前に通知が出るはず」と案内に書くと、相手の環境によっては食い違います。確実に知らせたいなら、リマインダー任せにせず前日のメールを別に送るのが安全です。

    Other Tools