# Fan airflow calculator

- Human page: https://happytails.ai/en/calculators/fan-airflow-calculator/
- Markdown: https://happytails.ai/en/calculators/fan-airflow-calculator.md
- Structured JSON: https://happytails.ai/agents/en/calculators/fan-airflow-calculator/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `fan-airflow-calculator` |
| Category | calculators |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Automatic updates after valid input or file selection. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Calculated on your device for rooms up to 1,000,000 m³ and targets up to 1,000 air changes per hour. You choose the target; no ventilation rate is recommended.

### Inputs and settings

No free-text input is required. Use the file inputs and/or settings below.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `roomMode` | Room size from | select | "Room dimensions" | Allowed: Room dimensions, Known volume |
| `dimensionUnit` | Dimension unit | select | "m" | Allowed: m, cm, ft, in |
| `length` | Room length | number | 4 | min=0 step=any |
| `width` | Room width | number | 3 | min=0 step=any |
| `height` | Ceiling height | number | 2.5 | min=0 step=any |
| `volumeUnit` | Volume unit | select | "m³" | Allowed: m³, ft³, L |
| `volume` | Room volume | number | 30 | min=0 step=any |
| `targetMode` | Target | select | "Air changes per hour" | Allowed: Air changes per hour, Turnover time |
| `ach` | Air changes per hour | number | 6 | min=0 max=1000 step=any |
| `turnover` | Minutes for one full air change | number | 10 | min=0.06 max=100000 step=any |
| `fanUnit` | Fan rating unit | select | "CFM" | Allowed: CFM, m³/h, L/s |
| `fanRating` | Rated airflow of one fan (optional) | number | 50 | min=0 step=any |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

Room sides up to 1,000 m, with the room volume (entered, or length × width × height) up to 1,000,000 m³; targets above 0 and up to 1,000 air changes per hour, or 0.06 to 100,000 minutes per change; fan rating up to 100 m³/s. Calculated on your device; download a JSON report and a CSV of results.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "fan-airflow-calculator",
  "category": "calculators",
  "built": true,
  "requirements": "Room sides up to 1,000 m, with the room volume (entered, or length × width × height) up to 1,000,000 m³; targets above 0 and up to 1,000 air changes per hour, or 0.06 to 100,000 minutes per change; fan rating up to 100 m³/s. Calculated on your device; download a JSON report and a CSV of results.",
  "implementation": {
    "fields": [
      {
        "key": "roomMode",
        "label": "Room size from",
        "value": "Room dimensions",
        "type": "select",
        "values": [
          "Room dimensions",
          "Known volume"
        ]
      },
      {
        "key": "dimensionUnit",
        "label": "Dimension unit",
        "value": "m",
        "type": "select",
        "values": [
          "m",
          "cm",
          "ft",
          "in"
        ],
        "showWhen": {
          "roomMode": [
            "Room dimensions"
          ]
        }
      },
      {
        "key": "length",
        "label": "Room length",
        "value": 4,
        "type": "number",
        "min": 0,
        "step": "any",
        "showWhen": {
          "roomMode": [
            "Room dimensions"
          ]
        }
      },
      {
        "key": "width",
        "label": "Room width",
        "value": 3,
        "type": "number",
        "min": 0,
        "step": "any",
        "showWhen": {
          "roomMode": [
            "Room dimensions"
          ]
        }
      },
      {
        "key": "height",
        "label": "Ceiling height",
        "value": 2.5,
        "type": "number",
        "min": 0,
        "step": "any",
        "showWhen": {
          "roomMode": [
            "Room dimensions"
          ]
        }
      },
      {
        "key": "volumeUnit",
        "label": "Volume unit",
        "value": "m³",
        "type": "select",
        "values": [
          "m³",
          "ft³",
          "L"
        ],
        "showWhen": {
          "roomMode": [
            "Known volume"
          ]
        }
      },
      {
        "key": "volume",
        "label": "Room volume",
        "value": 30,
        "type": "number",
        "min": 0,
        "step": "any",
        "showWhen": {
          "roomMode": [
            "Known volume"
          ]
        }
      },
      {
        "key": "targetMode",
        "label": "Target",
        "value": "Air changes per hour",
        "type": "select",
        "values": [
          "Air changes per hour",
          "Turnover time"
        ]
      },
      {
        "key": "ach",
        "label": "Air changes per hour",
        "value": 6,
        "type": "number",
        "min": 0,
        "max": 1000,
        "step": "any",
        "help": "Your target, for example from a product guide or local guidance.",
        "showWhen": {
          "targetMode": [
            "Air changes per hour"
          ]
        }
      },
      {
        "key": "turnover",
        "label": "Minutes for one full air change",
        "value": 10,
        "type": "number",
        "min": 0.06,
        "max": 100000,
        "step": "any",
        "showWhen": {
          "targetMode": [
            "Turnover time"
          ]
        }
      },
      {
        "key": "fanUnit",
        "label": "Fan rating unit",
        "value": "CFM",
        "type": "select",
        "values": [
          "CFM",
          "m³/h",
          "L/s"
        ]
      },
      {
        "key": "fanRating",
        "label": "Rated airflow of one fan (optional)",
        "value": 50,
        "type": "number",
        "min": 0,
        "step": "any",
        "help": "Leave empty to skip the fan count.",
        "required": false
      }
    ],
    "registrationFamily": "measured-quantity-form-reference",
    "input": false,
    "live": true,
    "presentation": "metrics",
    "note": "Calculated on your device for rooms up to 1,000,000 m³ and targets up to 1,000 air changes per hour. You choose the target; no ventilation rate is recommended.",
    "experience": {
      "automatic": true,
      "single": true,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Room and target",
      "placeholder": "Use the fields below",
      "help": "This calculator uses the room and target fields only. Results update as you type. Up to 1,000,000 characters.",
      "action": null
    },
    "mode": "automatic",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Find the airflow a room needs for your target air changes per hour or turnover time, in m³/h, L/s and CFM, and how many fans of a given rating reach it.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

### How to use Fan airflow calculator

1. Enter the room length, width and ceiling height, or its known volume.
2. Enter your target as air changes per hour or minutes per full air change.
3. Optionally enter the rated airflow of one fan to get a fan count.
4. Review the required airflow and download the report or CSV.

## Useful next steps

- [Volume calculator](https://happytails.ai/en/calculators/volume-calculator/) ([Markdown](https://happytails.ai/en/calculators/volume-calculator.md))

- [Appliance electricity cost calculator](https://happytails.ai/en/calculators/appliance-electricity-cost-calculator/) ([Markdown](https://happytails.ai/en/calculators/appliance-electricity-cost-calculator.md))

- [Energy](https://happytails.ai/en/unit-converters/energy/) ([Markdown](https://happytails.ai/en/unit-converters/energy.md))

## Airflow from volume and air changes

Required airflow is room volume multiplied by air changes per hour, q = n V (Engineering ToolBox, Air Change Rates, checked 16 October 2026). A 4 × 3 × 2.5 m room holds 30 m³, so 6 air changes per hour needs 180 m³/h, which is 50 L/s or about 105.9 CFM.

### Choose your own target

The target comes from you, for example from a product guide or local guidance. A turnover time is converted with 60 minutes divided by the minutes per air change. This calculator does not recommend a rate or check building or health codes.

### Fan count

The fan count divides the required airflow by one fan’s rated airflow and rounds up. Ratings are usually measured with little resistance, so ducts, grilles and filters reduce real airflow. Complete mixing is assumed. Unit conversions use NIST SP 811 factors.
