Turn a CSV into a live calendar feed
A csv-to-ics converter hands you a file. That file is a snapshot, and once the schedule changes there's no way to push a fix to anyone who imported it. CalRelay turns your CSV into a calendar feed instead: subscribers get one link, and when the CSV changes their calendars follow.
You can point it at any publicly reachable CSV URL, like an export endpoint, a file on your server, or a published sheet. CalRelay keeps polling it and regenerating the feed. You can also paste raw CSV straight in for a quick calendar that you update by re-pasting.
Free plan, no credit card. No account needed to see your events.
Bring your CSV — as a URL or a paste
Paste a link to any CSV that's reachable without a login, or paste the CSV text itself. A URL source is polled and stays in sync on its own. A pasted CSV is a snapshot, and you can update it any time by pasting again.
Map your columns and check the preview
CalRelay reads the header row, suggests which columns are the title, date, time, and location, and shows every event it found. Rows it can't confidently parse are held and shown with the raw cell values instead of being guessed at or dropped.
Share one subscribe link
You get a hosted subscribe page with one-click buttons for Apple Calendar, Google Calendar, and Outlook. Subscribers tap once and stay in sync from then on. They don't need an account.
Converter vs. feed: why the URL matters
A converter reads the file once and emits an .ics, and that's the end of its involvement. When the schedule changes, every calendar that imported the file is showing stale events. Your only fix is to re-export and ask everyone to re-import.
A feed works the other way. CalRelay hosts the calendar at a stable URL, keeps re-reading your CSV, and calendar apps pick up changes automatically. Every event carries a stable UID, so an edited row updates the existing event in subscribers' calendars instead of creating a duplicate.
Hosted CSV URLs: set it and forget it
If your CSV lives at a URL (a registration system's export link, a file your build publishes, a reporting endpoint), that's the strongest setup. CalRelay re-fetches it hourly on the free plan and every 15 minutes on Pro. Whatever writes the CSV is effectively writing the calendar.
If the URL goes dark or the columns change, CalRelay doesn't serve garbage. The feed freezes at its last good state, you get an email, and subscribers keep the last valid calendar until you fix it.
Pasted CSV: quick, but a snapshot
No URL? Paste the CSV text directly. You get the same parsing, preview, and hosted subscribe page. The only difference is that a pasted table doesn't update itself. When the schedule changes, paste the new version into the same feed and every subscriber gets the update through the same link.
That's still better than a converted file. Your subscribe link never changes, and re-pasting updates events in place rather than duplicating them.
Questions
What counts as a CSV URL?
How often is my CSV re-read?
What happens to rows that don't parse?
What if the CSV URL breaks or the columns change?
Is there a free plan?
Your schedule already exists.
Turn it into a calendar your whole roster can subscribe to. Takes about three minutes.
Create your free feed