Visual editor for Apache Airflow 3 DAGs
Design a DAG with tasks and dependencies in your browser, check that it is valid, and generate the Python file that Airflow runs. You can also import a .py file you already have.
What you can do
- Design DAGs visually.
- Configure tasks and dependencies.
- Validate the design.
- Import Python files within the supported scope.
- Generate Python code for Airflow 3, tested with 3.3.2.
- Save projects and share read-only copies.
How it works
- DesignAdd tasks (Python, Bash, empty ones or operators from the catalog), connect them and set the DAG schedule.
- ValidateThe validation panel reports errors and warnings before anything is generated.
- GenerateDownload or copy the Python file and put it in your Airflow DAGs folder.
A real example
A two-task DAG (a Python function and a Bash command chained together) exactly as the application generates it, with no manual edits:
from airflow.sdk import DAG, task
from airflow.providers.standard.operators.bash import BashOperator
from datetime import datetime
with DAG(
dag_id="daily_report",
schedule="0 6 * * *",
start_date=datetime(2026, 1, 1),
catchup=False,
tags=["example"],
description="Computes a summary and notifies when done.",
):
@task
def compute_summary():
print("Computing the summary")
compute = compute_summary.override(task_id="compute")()
notify = BashOperator(task_id="notify", bash_command="echo \"Report ready\"")
compute >> notify
What it does not do
- It does not run, schedule or monitor your DAGs: your Airflow still does that.
- It does not connect to your Airflow installation or modify it.
- When importing, the file is analyzed as text and is never executed.
- It is built for Airflow 3.x (tested with 3.3.2). Airflow 2.x is not supported.
Frequently asked questions
Which Airflow version does it support?
Airflow 3.x. The generated Python has been verified running on a real Airflow 3.3.2. Airflow 2.x is not supported.
Can I import a DAG I already have?
Yes, within the supported scope: the Python file is analyzed structurally, without running it. Anything the tool does not understand is reported with a warning instead of being silently changed.
What happens to the logic of my Python functions?
The Python functions of your tasks are yours: the editor keeps them and includes them in the generated file.
Does it cost anything?
No. It is free, with usage limits (new projects per day, exports per month and saved projects) that you will always see inside your account.
Can I share a DAG with someone else?
Yes, in Airflow Studio: read-only links with the visibility you choose (signed-in users only, or public) and an optional expiry date.
Also available
- GitHub ActionsDesign GitHub Actions workflows and generate the YAML for .github/workflows/.
Try it for free
The editor is available with a free account, with usage limits. Nothing runs in your repository or your installation: you decide which file to use.