FIRST CH TOOLS / その他 / 50 ICS GENERATOR
カレンダー予定(.ics)ジェネレーター
ウェビナーや打ち合わせの案内に添える「予定に追加」ファイル(.ics)をその場で作ります。タイムゾーンを選べば夏時間の切り替え規則ごと書き出すので、Googleカレンダー・Appleカレンダー・Outlookのどれで開いても同じ時刻になります。終日予定・繰り返し・リマインダーにも対応し、Googleカレンダーへ直接追加するリンクも同時に作れます。
1 — 予定の内容
2 — 日時とタイムゾーン
3 — リマインダーと詳細
主催者はメールアドレスを入れたときだけ ORGANIZER として書き出します。招待メールの送信は行いません(このファイルは「予定の中身」だけを運びます)。
4 — 出力(.ics)
ダウンロードしたファイルはメールに添付するか、サイトに置いてリンクします。受け取った人がファイルを開くと、カレンダーアプリが取り込み画面を出します。
5 — 点検
6 — カレンダーへ直接追加するリンク
メールや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
- 予定を書くタイトル・場所・説明を入れ、開始日時と所要時間を選びます。終日の催しなら「終日の予定にする」にチェックを入れると、時刻のない予定になります。
- タイムゾーンを確かめる初期値は端末のタイムゾーンです。海外からも参加するウェビナーなら、開催地のタイムゾーンを選んだうえで「TZID + VTIMEZONE」のままにします。点検欄に出る指摘を読んで、開始と終了の前後関係や繰り返しの終わり方を直します。
- 配る「.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
- 01画像→WebP一括変換WebP Converter
- 02白背景の透過White BG Remover
- 03コントラスト比チェッカーContrast Checker
- 04文字数カウントCharacter Counter
- 05llms.txt ジェネレーターllms.txt Generator
- 06JSON-LD構造化データ生成JSON-LD Generator
- 07Markdown→PDF変換MD → PDF
- 08OGPメタタグ生成ウィザードOGP Wizard
- 09faviconジェネレーターFavicon Generator
- 10TikTok投稿ツールTikTok Publisher
- 11文字コード・改行コード変換Encoding Converter
- 12画像→AVIF変換+picture生成AVIF Converter
- 13テストデータ生成Test Data Generator
- 14Marp Markdown→スライドMarp Slides
- 15テキスト・コード差分チェッカーDiff Checker
- 16Cron式ビジュアル解説&発火日時Cron Explainer
- 17Base64 & Data URI変換Base64 & Data URI
- 18URLパラメータ分解・UTMタグ編集URL Parameters
- 19HTMLエンティティ・特殊文字エスケープHTML Escape
- 20JSON ⇄ YAML 相互変換&整形JSON ⇄ YAML
- 21PX ⇄ REM / EM 単位変換&スケール表PX ⇄ REM / EM
- 22Colorコード変換&アルファ透過Color Converter
- 23MD5 / SHA-256 ハッシュ生成Hash Generator
- 24JWTデコーダー&有効期限チェッカーJWT Decoder
- 25User-Agent解析&デバイス判定User-Agent Parser
- 26UUID (v4) & ULID 一括生成UUID & ULID Generator
- 27アスペクト比計算&レスポンシブサイズAspect Ratio Calculator
- 28Markdownテーブル整形&CSV/TSV変換Markdown Table
- 29SQLクエリフォーマッター&整形SQL Formatter
- 30QRコード生成QR Code Generator
- 31正規表現テスターRegex Tester
- 32UNIXタイムスタンプ⇄日時変換Unix Time Converter
- 33新規タブメモ帳New Tab Memo
- 34画像リサイズ&クロップImage Resizer
- 35EXIF情報の確認&除去EXIF Viewer
- 36robots.txt ジェネレーターrobots.txt Generator
- 37安全なパスワード生成Password Generator
- 38文字列ケース変換Case Converter
- 39CSV/TSV ⇄ JSON 相互変換CSV ⇄ JSON
- 40PDF結合・分割・ページ抽出PDF Merge & Split
- 41全角⇄半角変換&テキストクリーナーZenkaku ⇄ Hankaku
- 42X(Twitter)投稿の文字ウェイト計算X Post Counter
- 43CSS clamp() フルイドタイポグラフィ計算機CSS clamp() Calculator
- 44CSSグラデーションジェネレーターCSS Gradient Generator
- 45画像からカラーパレット抽出Palette Extractor
- 46QRコード読み取りQR Code Reader
- 47SVG最適化&data URI化SVG Optimizer
- 48リダイレクトルール ジェネレーターRedirect Generator
- 49IPアドレス・CIDR計算機CIDR Calculator