本文へスキップ
App Museum
English

カレンダー予定作成ツール(ICSファイル・Googleカレンダー追加リンク)

予定名・日時・場所から、iPhone・Mac・Outlook・Googleカレンダーに読み込める .ics ファイルと、Googleカレンダー・Outlookに追加するリンクを作成。終日・繰り返し(毎週の曜日・第○曜日・回数・終了日)・通知・タイムゾーンに対応します。

予定の内容

URLを入れると、メモの最後にも書き足します(Googleカレンダーは URL の項目を読まないため)。

日時

開始日を 1970〜2099 年の日付で入力してください

開始時刻を入力してください

終了日を 1970〜2099 年の日付で入力してください

終了時刻を入力してください

終了時刻を開始から

相手が別のタイムゾーンにいても、ここで選んだ地域の時刻として登録されます。「指定しない」は、どの地域で開いても同じ時刻(例: 毎朝7時の服薬)になります。

繰り返し
通知

通知は .ics ファイルにだけ入ります。Googleカレンダーは、リンクから追加したときも .ics を読み込んだときも、ここでの通知を使わず Googleカレンダー側の既定の通知になります。

カレンダー上の扱い
詳細設定(UID)

UID を入力してください

同じ UID の .ics をもう一度読み込むと、Apple・Outlook などは新しい予定を作らず上書きします。直した予定を配り直すときは、前のファイルの中の「UID:」の行の値をここに貼ってから保存してください。

できた予定

準備しています…

使い方

  1. 「予定名」を入力します。場所・URL・メモは任意です。URLを入れると、メモの最後にも書き足します(Googleカレンダーは .ics の URL の項目を読まないため)。
  2. 「日時」で開始と終了を選びます。開始を動かすと、終了も同じ長さを保って動きます。「30分」「1時間」などのボタンで、終了を開始の何分後にするかを決められます。1日じゅうの予定や数日にわたる休暇・出張は「終日の予定」に印を付けます。終日の予定の終了日は、最後の日(例: 11月4日まで)をそのまま選びます。
  3. 「タイムゾーン」は、予定の時刻をどの地域の時計で決めるかです。初めはこのブラウザのタイムゾーンが選ばれています。海外とのオンライン会議は、主催する側の地域を選ぶと、相手のカレンダーには相手の地域の時刻で表示されます。「指定しない」を選ぶと、どの地域で開いても同じ時刻(例: 毎朝7時の服薬)になります。
  4. 繰り返す予定は「繰り返し」で毎日・毎週・毎月・毎年を選び、間隔(2週間ごと など)、曜日、毎月の決め方(20日・第3火曜日・最終金曜日・月末)、終わり(回数か終わりの日)を決めます。結果に最初の5回の日付と、全部で何回あるかが出るので、意図どおりか確かめられます。
  5. 「通知」は予定の何分前・何時間前・何日前に知らせるかです。終日の予定では「1日前の 9:00」のように、何日前の何時かで決めます。5つまで追加できます。
  6. 結果の「〜.ics を保存」でファイルを保存するか、「Googleカレンダー」「Outlook」のリンクを開いてカレンダーに追加します。

入力した内容はブラウザの中だけで処理し、どこにも送りません。ページを閉じると消えます。カレンダーへのリンクは、押したときに各カレンダーのサイトを新しいタブで開くだけです。

.ics ファイルの読み込み方

.ics(iCalendar)は、予定をやり取りするための共通の形式(RFC 5545)で、ほとんどのカレンダーが読み込めます。読み込んだ予定は、元のファイルとはつながらない普通の予定としてカレンダーに入ります。

  • iPhone・iPad: メールやメッセージに添付された .ics を開くか、保存したファイルを「ファイル」アプリから開き、「追加」を押します。
  • Mac: .ics をダブルクリックすると「カレンダー」が開き、追加先のカレンダーを選べます。
  • Googleカレンダー: パソコンのブラウザで「設定」→「インポート / エクスポート」からファイルを選びます。スマートフォンのアプリからは読み込めないので、スマートフォンでは「Googleカレンダー」のリンクを使ってください。Googleカレンダーは、読み込んだ .ics の通知を使わず、自分の既定の通知を付けます。
  • Outlook(Windows・Mac のアプリ): .ics を開くか、予定表にドラッグします。
  • Outlook.com・Microsoft 365 のブラウザ版: 「予定表を追加」→「ファイルからアップロード」で選びます。

人に送るときは、.ics をメールやチャットに添付するか、Googleカレンダーのリンクを貼ります。リンクには通知が入らず、Outlook のリンクには繰り返しも入りません(各サービスのリンクの仕様)。Apple のカレンダーにはリンクから追加する方法がないので、.ics を添付します。

具体例

2026年11月2日から毎週月曜の10:00〜11:00に、会議室Aで「定例ミーティング」を2027年3月29日まで行い、10分前に通知する例です。保存される .ics の中身は次のようになります(UID と DTSTAMP は作るたびに変わります)。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//App Museum//ICS Event Generator//JA
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:Asia/Tokyo
BEGIN:STANDARD
DTSTART:19700101T000000
TZOFFSETFROM:+0900
TZOFFSETTO:+0900
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:8f1c2b9e-1d2a-4c7e-9a43-6b1f0e5d3c21@app-museum
DTSTAMP:20261017T030000Z
DTSTART;TZID=Asia/Tokyo:20261102T100000
DTEND;TZID=Asia/Tokyo:20261102T110000
RRULE:FREQ=WEEKLY;UNTIL=20270329T145959Z;BYDAY=MO
SUMMARY:定例ミーティング
LOCATION:会議室A
TRANSP:OPAQUE
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:定例ミーティング
TRIGGER:-PT10M
END:VALARM
END:VEVENT
END:VCALENDAR

主な項目の意味:

  • DTSTART / DTEND: 開始と終了。TZID=Asia/Tokyo は東京の時計での時刻であることを表し、その定義が VTIMEZONE に入ります。夏時間のある地域では、夏時間の始まりと終わりの規則も VTIMEZONE に書き出すので、夏時間をまたぐ繰り返しも同じ時刻のままになります。
  • RRULE: 繰り返しの規則。FREQ=WEEKLY;BYDAY=MO は毎週月曜日、UNTIL は最後の日の終わり(東京の 23:59:59 を世界協定時で表したもの)です。
  • VALARM: 通知。TRIGGER:-PT10M は開始の10分前です。終日の予定の「1日前の 9:00」は、開始日の0時の15時間前なので -PT15H になります。
  • 終日の予定は DTSTART;VALUE=DATE:20261102 のように日付だけで書き、DTEND は最後の日の翌日になります(iCalendar の決まり)。
  • 予定名などの中の , ; \ と改行は \, のように前に \ を付けて書き、75バイトを超える行は折り返します。日本語の文字の途中では折り返しません。

FAQ

毎月31日にした予定が、ある月だけ入っていないのはなぜですか?

iCalendar の決まりで、その日がない月(30日までの月や2月)は飛ばされるからです。カレンダーアプリも同じように扱います。毎月の最終日にしたいときは、月末の日(例: 11月30日)を開始日にして、毎月の決め方で「月末」を選んでください。同じく、2月29日に始まる毎年の予定は、うるう年だけになります。

毎週の曜日に、開始日の曜日を含めないといけないのはなぜですか?

iCalendar では開始日そのものが1回目として数えられますが、開始日が繰り返しの規則に合わないときの扱いはカレンダーによって違い、1回目が入ったり入らなかったりします。食い違いを避けるため、開始日は繰り返す曜日のどれかにしてください。

夏時間のある地域の会議でも、時刻はずれませんか?

ずれません。開始・終了をその地域の時計の時刻で書き、夏時間の規則を VTIMEZONE に入れているので、夏時間に切り替わった後の回も現地では同じ時刻です。日本から見た時刻は、夏時間の切り替えの前後で1時間変わります。夏時間に切り替わるときに飛ばされる時刻(アメリカなら3月の第2日曜日の 2:00〜2:59 など)は存在しないので、選ぶと注意が出ます。

予定を直して配り直すとき、二重に登録されないようにできますか?

前のファイルと同じ UID で保存し直したファイルを読み込むと、Apple のカレンダーや Outlook は同じ予定として上書きします。UID はページを開くたびに新しく作られるので、同じページを開いたまま直すか、前のファイルをテキストエディタで開いて UID: の行の値を「詳細設定(UID)」の欄に貼ってから保存してください。直すたびに、作成日時(DTSTAMP)は新しくなります。Googleカレンダーのインポートは、同じ UID でも上書きされないことがあります。

参加者を招待するメール(招待状)も作れますか?

作れません。このツールが作るのは、受け取った人が自分のカレンダーに追加するための予定(METHOD:PUBLISH)です。出欠の返事を集める招待は、Googleカレンダーや Outlook で予定を作って参加者を追加してください。

入力した予定はどこかに送られますか?

送られません。ファイルとリンクはブラウザの中で作っています。「Googleカレンダー」「Outlook」のリンクを押したときだけ、予定の内容を含んだ URL でそのサイトが開きます。

種別
ユーティリティ
カテゴリ
開発者向け
タグ
ics
icalendar
calendar
google-calendar
outlook
event
generator
schedule
  • cron式チェッカー

    cron式(crontabの書式)を日本語の説明に直し、次回以降の実行日時を一覧で確認できます。毎日・毎週などの条件を選んで式を作ることもできます。書き方の誤りは、どのフィールドが原因かを示します。

    ユーティリティ開発者向けcroncrontabgeneratorscheduletimedeveloper
  • TOTP生成ツール(ワンタイムパスワード)

    Base32の秘密鍵から、2段階認証で使う6桁のワンタイムパスワード(TOTP)をブラウザ内で計算。前後のコードとの照合、SHA-256・8桁などの設定、otpauth:// URIの読み込みと作成、認証アプリで読み取るQRコードの表示に対応。

    ユーティリティ開発者向けtotpotp2faauthenticatorsecuritygeneratorqr
  • パスワード生成ツール

    文字数と文字の種類を選んで、安全なランダムパスワードをまとめて生成。英単語をつなげたパスフレーズ、使う記号の指定、紛らわしい文字の除外、強度の目安にも対応。

    ユーティリティ開発者向けpasswordpassphrasegeneratorsecurityrandom