Time Zone Meeting Planner
Find meeting times across time zones
Compare cities side by side, see overlapping working hours and pick a meeting time that works for everyone, with DST handled.
- Time zone
- Meeting
- World clock
How to use Time Zone Meeting Planner
- Add cities or IANA time zones with the search box (about 230 major cities are built in, and any zone such as
America/Chicagocan be found by name). The first city is the base and sets the date you see; use Make base to change it. - Pick the date, and set each city’s working hours with Works from and to (default 09:00 to 17:00). Hours outside that range are grey, and slots where every city is working are outlined in green.
- Click a slot in the Day planner (or move with the arrow keys and press Enter). The Selected time panel shows that moment in every city.
- Copy the one-line summary, or set a title and length and Download .ics to add the meeting to any calendar app.
How it works
The grid has one column per hour of the chosen date in the base city, starting at its local midnight. For each city the hour is converted with the browser’s Intl.DateTimeFormat time zone data (the same helpers the Timestamp Converter uses), so daylight saving is handled by your browser: on a clock-change day the grid has 23 or 25 columns, and a city whose clocks change that day is marked.
A slot counts as working time for a city when the slot’s start is at or after the start hour and before the end hour in that city’s local time (windows that cross midnight, such as 22:00 to 06:00, work too). Cities on half-hour offsets, such as India, show slots at :30. The overlap is the set of slots where every city is working.
The .ics file is written by this page: one VEVENT with start and end in UTC, the title, and the multi-city text as the description, with \, ;, , and line breaks escaped, lines folded at 75 bytes and CRLF line endings, as RFC 5545 requires.
Limits
- Slots are one hour wide, so meeting times on the half hour are not offered; zones with :30 or :45 offsets show their own minutes.
- Up to 12 cities. Working hours are whole hours, and the same hours apply every day (no weekends or holidays).
- The city list is a bundled selection, not every place. Any IANA zone your browser knows can be added instead; zone data comes from the browser, so very old browsers may be missing recent rule changes.
- The date is the calendar day in the base city. Slots of the selected moment from another day stay selected, but are not highlighted in the grid.
- The
.icsevent is a plain UTC event: no reminders, attendees or recurrence.
Privacy
Everything runs in your browser; the city list is bundled and no request is made for time data. Nothing is stored. Share copies a link with your cities, working hours, date and selected time in the URL’s # fragment, which browsers do not send to servers, though anyone with the link can read it.
Frequently asked questions
Why does the grid have 23 or 25 columns on some days?
On the day clocks change in the base city, that day is an hour shorter or longer. The planner counts real hours between local midnights, so no slot is skipped or doubled.
What does “everyone free” mean?
Every city on the list is inside its own working hours for that slot. Change the hours per city if someone starts early or finishes late.
Which time does the .ics file use?
The event is stored in UTC, so every calendar app shows it in the viewer’s own time zone. The description lists the time in each city.
Can I plan across a date line or a week boundary?
Yes. A city whose local date differs from the base is marked in the grid at local midnight and in the selected-time text, for example “01:00 Tokyo (Wed 4 Oct)”.
More tools
- Clean Image: Inspect and remove hidden image metadata
- JWT Decoder: Decode and verify JSON Web Tokens
- Diff Checker: Compare two texts line by line
- JS Runner: Run JavaScript and TypeScript in your browser
- JSON Formatter: Format, validate and minify JSON
- Encode / Decode: Base64, URL, HTML entity and hex
- Hash Generator: MD5, SHA and HMAC of any text
- UUID Generator: Generate UUID v4 and v7 in bulk
- Timestamp Converter: Unix time ↔ human dates
- Regex Tester: Test regular expressions live
- URL Parser: Break a URL into its parts
- HTTP Status Codes: Look up any HTTP status code
- MIME Type Lookup: File extension ↔ MIME type
- Password Generator: Strong random passwords and passphrases
- Random String Generator: Random tokens, IDs and keys
- Slug Generator: Turn titles into URL slugs
- Case Converter: camelCase, snake_case, Title Case and more
- Word Counter: Count words, characters and reading time
- JSON to TypeScript: Generate TypeScript types from JSON
- JSON Diff: Compare two JSON documents structurally
- JSON to SQL: Turn JSON arrays into SQL inserts
- YAML ↔ JSON: Convert between YAML and JSON
- XML ↔ JSON: Convert between XML and JSON
- CSV ↔ JSON: Convert between CSV and JSON
- CSV Viewer: View, sort and filter CSV files
- SQL Formatter: Format and beautify SQL queries
- cURL ↔ Fetch: Convert cURL commands to fetch and back
- Markdown Editor: Write Markdown with a live preview
- Text Cleaner: Remove duplicate lines, empty lines and extra spaces
- Find & Replace: Find and replace in any text
- Cron Expression Builder: Build and explain cron schedules
- User-Agent Parser: Identify browser, OS and device from a user agent
- HTTP Headers Inspector: Paste response headers and get them explained
- JWT Generator: Create and sign test JSON Web Tokens
- Certificate Inspector: Decode PEM certificates and keys
- Meta Tag Inspector: Check a page's SEO and social tags
- UTM Builder: Build campaign URLs with UTM parameters
- URL Cleaner: Strip tracking parameters from links
- Robots.txt Generator: Create and test a robots.txt file
- Sitemap Generator: Create an XML sitemap from a list of URLs
- Image Compressor: Shrink JPEG, WebP and AVIF images in your browser
- Image Resizer: Resize images by pixels, percentage or to fit a box
- Image Converter: Convert between PNG, JPEG, WebP and AVIF
- Image to Base64: Encode images as Base64 data URIs and decode them back
- SVG Optimizer: Minify and sanitize SVG files
- Favicon Generator: Make favicon.ico, Apple and Android icons from an image or emoji
- Color Converter: HEX, RGB, HSL, OKLCH and contrast checks
- Number Base Converter: Binary, octal, decimal, hex and float bits
- IP / CIDR Calculator: Subnets, masks and IP ranges for IPv4 and IPv6
- JSONPath Query: Query JSON with JSONPath expressions
- JSON Schema Validator: Validate JSON against a schema, or generate one
- Semver Checker: Check versions against semver ranges
- chmod Calculator: Unix permissions: rwx ↔ octal
- .env Diff: Compare and validate .env files
- TOTP Generator: Generate and verify 2FA codes
- String Escaper: Escape and unescape strings for any language
- Unicode Inspector: See every character, code point and hidden symbol
- Mock Data Generator: Generate realistic fake data
- QR Code Generator: Create QR codes for links, Wi-Fi and contacts
- Lorem Ipsum Generator: Placeholder text in paragraphs, sentences or words
- Date Calculator: Date differences, business days and durations
- Unit Converter: Convert bytes, lengths, weights, temperatures and more
- Query CSV with SQL: Run SQL queries on CSV files
- PDF Merge & Split: Merge, split, reorder and rotate PDFs
- PDF Metadata Cleaner: See and remove hidden PDF metadata
- Office Metadata Cleaner: Remove author and revision data from Word, Excel and PowerPoint
- Images to PDF: Combine images into one PDF
- Image Editor: Crop, rotate, resize and adjust images
- Encrypt / Decrypt Text: Encrypt text with a passphrase (AES-GCM)
- SSH Key Generator: Generate Ed25519 and RSA SSH keys locally
- Email Header Analyzer: Trace an email's path and check SPF, DKIM and DMARC
- JSON to Code: Generate Go, Python, Rust, Java, C# and Kotlin models from JSON
- docker run ↔ Compose: Convert docker run commands to docker-compose and back
- Color Palette Extractor: Pull the dominant colours out of any image
- Password Strength Checker: How long would your password take to crack?
- SPF / DKIM / DMARC Checker: Validate and explain email DNS records
- Kubernetes YAML Checker: Validate and explain Kubernetes manifests
- .gitignore Generator: Build a .gitignore from presets
- CSP Builder: Build and check a Content-Security-Policy
- JSON-LD Generator: Create schema.org structured data
- Open Graph Image Generator: Make 1200×630 social preview images
- CSS Generator: Gradients, shadows, clamp() and more