Guide#n8n#timezone#configuration

Configure n8n Timezone — Step-by-Step Guide

Learn how to set the correct timezone on your n8n instance using environment variables, workflow settings, and schedule nodes. Avoid missed or mistimed automations.

n8n Clouds Team
7 min read

Running your n8n workflows in the wrong timezone can cause real problems — scheduled tasks fire at the wrong hour, date-based logic produces unexpected results, and logs become difficult to read. This guide shows you exactly how to set the correct timezone on your n8n instance so everything runs on your local time.


Why Timezone Matters in n8n

By default, n8n uses UTC (Coordinated Universal Time). If you are in Dhaka (UTC+6), a workflow scheduled for "9:00 AM" will actually run at 3:00 PM your local time. That six-hour gap can break time-sensitive automations like:

  • Daily reports sent to your team at the wrong hour
  • Cron-triggered workflows that should run during business hours
  • Date comparisons in If/Switch nodes that produce incorrect results
  • Webhook responses with timestamps your users cannot interpret

Setting the correct timezone fixes all of these issues at once.


Method 1: Set the Instance-Wide Timezone (Recommended)

The most reliable way to configure timezone is through the GENERIC_TIMEZONE environment variable. This sets the default timezone for your entire n8n instance — every workflow, every node, and every log entry.

Step 1 — Find Your Timezone Identifier

n8n uses IANA timezone identifiers (also called "TZ database names"). Here are the most common ones:

RegionTimezone IdentifierUTC Offset
BangladeshAsia/DhakaUTC+6
IndiaAsia/KolkataUTC+5:30
SingaporeAsia/SingaporeUTC+8
JapanAsia/TokyoUTC+9
UAEAsia/DubaiUTC+4
UKEurope/LondonUTC+0/+1
GermanyEurope/BerlinUTC+1/+2
US EastAmerica/New_YorkUTC-5/-4
US WestAmerica/Los_AngelesUTC-8/-7
Australia (East)Australia/SydneyUTC+10/+11

Full list: See the IANA Time Zone Database for all valid identifiers. Always use the exact format shown (e.g., Asia/Dhaka, not BST or GMT+6).

Step 2 — Set the Environment Variable

How you set GENERIC_TIMEZONE depends on how you run n8n.

Option A: Docker (docker-compose.yml)

Open your docker-compose.yml file and add the GENERIC_TIMEZONE variable under the environment section:

services:
  n8n:
    image: n8nio/n8n
    environment:
      - GENERIC_TIMEZONE=Asia/Dhaka
      - TZ=Asia/Dhaka
    ports:
      - "5678:5678"
    volumes:
      - n8n_data:/home/node/.n8n

Important: Set both GENERIC_TIMEZONE (used by n8n) and TZ (used by the underlying operating system inside the container). This ensures timestamps are consistent everywhere.

After saving the file, restart your container:

docker compose down
docker compose up -d

Option B: Docker Run Command

If you start n8n with a single docker run command, add the -e flags:

docker run -d \
  --name n8n \
  -p 5678:5678 \
  -e GENERIC_TIMEZONE=Asia/Dhaka \
  -e TZ=Asia/Dhaka \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

Option C: .env File

If you use a .env file alongside your Docker setup or systemd service, add these lines:

GENERIC_TIMEZONE=Asia/Dhaka
TZ=Asia/Dhaka

Then reference the file in your docker-compose.yml:

services:
  n8n:
    image: n8nio/n8n
    env_file:
      - .env

Option D: npm / Direct Installation

If you installed n8n globally with npm, set the environment variables before starting:

Linux / macOS:

export GENERIC_TIMEZONE=Asia/Dhaka
export TZ=Asia/Dhaka
n8n start

Windows (PowerShell):

$env:GENERIC_TIMEZONE = "Asia/Dhaka"
$env:TZ = "Asia/Dhaka"
n8n start

For a permanent setup, add these variables to your shell profile (~/.bashrc, ~/.zshrc) or system environment variables on Windows.

Step 3 — Restart Your n8n Instance

After setting the environment variables, restart your n8n instance for the changes to take effect. The timezone setting is read at startup and does not update while n8n is running.

Step 4 — Verify the Timezone

Open your n8n instance and check that the timezone is applied:

  1. Create or open any workflow
  2. Click the three-dot menu (⋯) in the top-right and open Settings
  3. In Workflow settings, confirm the Timezone field shows your expected value (for example, Default - Asia/Dhaka)

You can also verify by creating a quick test workflow:

  1. Add a Schedule Trigger node
  2. Open the node settings
  3. Confirm the trigger execution aligns with the workflow timezone

In newer n8n versions, the Personal settings page may not show a timezone field. Workflow Settings → Timezone and execution timestamps are the most reliable way to verify your configuration.

n8n workflow timezone verification via workflow settings or trigger behavior
n8n workflow timezone verification via workflow settings or trigger behavior

Method 2: Set Timezone Per Workflow

If you need different timezones for different workflows — for example, one workflow serves customers in Tokyo and another serves London — you can override the default timezone at the workflow level.

Step 1 — Open Workflow Settings

In the workflow editor, click the three-dot menu (⋯) in the top-right corner and select Settings.

n8n workflow editor showing the settings menu option
n8n workflow editor showing the settings menu option

Step 2 — Change the Timezone

In the workflow settings panel, find the Timezone dropdown. Select the timezone you want for this specific workflow.

n8n workflow settings panel with timezone dropdown open
n8n workflow settings panel with timezone dropdown open

Step 3 — Save the Workflow

Click Save to apply the changes. This workflow will now use its own timezone, regardless of the instance-wide setting.

Note: The workflow-level timezone only affects this specific workflow. All other workflows continue to use the instance default.

Timezone Priority — How n8n Decides Which Timezone to Use

n8n follows a clear priority order when determining the timezone for any operation:

PriorityLevelSet By
1 (High)Workflow-level timezoneWorkflow Settings → Timezone
2 (Low)Instance-level timezoneGENERIC_TIMEZONE env variable
FallbackUTCDefault when nothing is configured

In practice: Set GENERIC_TIMEZONE once to your local timezone, and override at the workflow level only when you have a specific reason.


For n8n Clouds Users

If you are using n8n Clouds, you do not need to edit Docker files or environment variables manually. The timezone is configured through your instance-level settings in the dashboard.

How to Set Timezone on n8n Clouds

  1. Log in to your n8n Clouds dashboard
  2. Open your instance detail page
  3. Go to instance Settings or Configuration
  4. Set the timezone using an IANA value (for example, Asia/Dhaka) and save

If your current dashboard view does not show a timezone field, check the instance configuration area first, then contact support to apply it at the instance level.

<!-- ![n8n Clouds instance configuration showing timezone setting](/blog/configure-n8n-timezone/image-06.png) -->

After updating, your instance will restart automatically with the new timezone applied.

Default timezone: New instances on n8n Clouds are provisioned with UTC by default. We recommend changing it to your local timezone immediately after setup.


Common Timezone Issues and Fixes

Issue 1: Schedules Still Running on UTC After Setting Timezone

Cause: You set GENERIC_TIMEZONE but did not restart n8n.

Fix: Restart your n8n instance. The timezone is loaded at startup.

Issue 2: One Workflow Uses the Wrong Timezone

Cause: That workflow has its own timezone set in Workflow Settings, which overrides the instance default.

Fix: Open the workflow → Settings → Change or reset the Timezone dropdown.

Issue 3: Timestamps in Logs Show the Wrong Time

Cause: The TZ environment variable is not set (only GENERIC_TIMEZONE is configured).

Fix: Set both GENERIC_TIMEZONE and TZ to the same value. GENERIC_TIMEZONE controls n8n's internal behavior, while TZ controls the operating system's time.

Issue 4: Using Incorrect Timezone Format

Cause: Using abbreviations like BST, IST, or GMT+6 instead of IANA identifiers.

Fix: Always use the full IANA format: Asia/Dhaka, not BST or GMT+6. Abbreviations are ambiguous (e.g., IST could mean India, Israel, or Ireland Standard Time).

Issue 5: Timezone Option Not Visible in Personal Settings

Cause: In newer n8n builds, the Personal page may not expose a timezone field.

Fix: Use Workflow Settings → Timezone to verify or override timezone. On n8n Clouds, configure timezone from your instance-level dashboard settings.


Quick Reference: Timezone Configuration Commands

Here is a summary of the commands for each deployment method:

Docker Compose

environment:
  - GENERIC_TIMEZONE=Asia/Dhaka
  - TZ=Asia/Dhaka

Docker Run

-e GENERIC_TIMEZONE=Asia/Dhaka -e TZ=Asia/Dhaka

.env File

GENERIC_TIMEZONE=Asia/Dhaka
TZ=Asia/Dhaka

npm (Linux/macOS)

export GENERIC_TIMEZONE=Asia/Dhaka && export TZ=Asia/Dhaka && n8n start

Replace Asia/Dhaka with your own timezone identifier from the IANA timezone list.


Still Have Questions?

If you run into any issues or need help configuring timezone on your instance, contact our support team. We're here to help.

Share:
Topics:#n8n#timezone#configuration#guide#workflow automation#instance management