Louver Free Area Calculator — Find Effective Airflow Opening

Louver Calculator

Size Intake/Exhaust or Check Capacity.

Check Capacity
Size Louver
x

*500 FPM is standard limit for rain penetration.

Manufacturer Rating (Typ. 35-60%). Default: 50%.

Max Capacity
CFM
Free Area
sq ft
Face Area
sq ft
Free Area = Gross Area × %. Capacity = Free Area × Velocity.

 

In buildings, factories, and HVAC systems, louvers are used to control airflow while protecting openings from rain, debris, and direct sunlight. You can see them on walls, rooftops, doors, and ventilation panels. While a louver may look like a large opening, not all of that space actually allows air to pass through. The blades, frames, and supports block part of the opening.

This is why engineers and designers focus on something called free area. Free area is the portion of the louver that is truly open for air to flow. A Louver Free Area Calculator helps you find this value quickly and accurately.

In this guide, you will learn what free area means, how the calculator works, the formulas it uses, and how to apply the results in real ventilation projects.

Related Calculator:  Carpet Area Calculator – Find Your Flooring Space in Seconds

What the Louver Free Area Calculator Is

A Louver Free Area Calculator is an online tool that calculates the effective open area of a louver. It subtracts the space blocked by blades, frames, and other parts from the total opening size.

The calculator helps you determine:

  • Actual airflow opening size

  • Free area percentage

  • Whether a louver meets ventilation requirements

This tool is widely used in:

  • HVAC system design

  • Building ventilation planning

  • Industrial exhaust systems

  • Architectural projects

Instead of estimating by eye, you get precise numbers for better airflow performance.

How the Louver Free Area Calculator Works

Inputs You Enter

Most louver free area calculators ask for:

  • Louver width

  • Louver height

  • Blade width

  • Number of blades

  • Frame or support obstruction size

Some tools may also allow airflow-based inputs like CFM and face velocity.

Calculation Process

The calculator:

  1. Finds the total louver opening area

  2. Subtracts the blocked blade and frame areas

  3. Calculates the free area

  4. Computes the free area percentage

Output You Get

You receive:

  • Free area (open space for air)

  • Free area percentage

These results help you decide if the louver is suitable for your ventilation needs.

Key Formulas Used

Total Louver Area

A_{total} = Width \times Height

Obstructed Area

A_{blocked} = Blade\ Area + Frame\ Area

Free Area

A_{free} = A_{total} - A_{blocked}

Free Area Percentage

FreeArea% = \frac{A_{free}}{A_{total}} \times 100

Airflow-Based Estimation (Optional)

A_{free} = \frac{Airflow}{Face\ Velocity}

These formulas help convert physical dimensions into useful airflow values.

Related Calculator:  Gravel & Dirt Calculator — Estimate Material Needed in Cubic Yards, Cubic Feet & Tons

Step-by-Step Examples

Example 1: Basic Louver Opening

Suppose a louver has:

  • Width = 1.2 m

  • Height = 1.0 m

Total area:

A_{total} = 1.2 \times 1.0 = 1.2 \text{ m}^2

If blades and frame block 0.4 m²:

A_{free} = 1.2 - 0.4 = 0.8 \text{ m}^2

Free area percentage:

FreeArea% = \frac{0.8}{1.2} \times 100 = 66.7%

So, only 66.7% of the opening allows airflow.

Example 2: HVAC Airflow Requirement

If an HVAC system needs 2000 CFM and face velocity is 500 ft/min:

A_{free} = \frac{2000}{500} = 4 \text{ ft}^2

The louver must provide at least 4 square feet of free area.

Features of the Louver Free Area Calculator

Accurate Obstruction Handling

The calculator accounts for blade and frame blockage.

Free Area Percentage

You can see how efficient the louver opening really is.

HVAC Friendly

Useful for airflow and ventilation sizing.

Fast Results

No manual math needed.

Beginner Friendly

Simple inputs, clear outputs.

Uses and Applications

HVAC System Design

Engineers use free area to ensure enough air enters and exits the building.

Industrial Ventilation

Factories need proper airflow for safety and cooling.

Building Codes

Many codes require minimum free area values.

Architectural Planning

Designers choose louvers that balance airflow and appearance.

Equipment Cooling

Machines need proper ventilation to avoid overheating.

Helpful Tips for Best Results

Measure Blade Thickness Correctly

Thicker blades reduce free area.

Consider Rain and Sand Louvers

Weather protection louvers usually have lower free area.

Related Calculator:  Ellipse Area Calculator — Instant Oval Area in Square Units

Check Manufacturer Data

Some provide exact free area percentages.

Match Airflow Needs

Always size louvers based on required CFM.

Leave Safety Margin

Extra free area improves performance.

Common Mistakes to Avoid

Using Total Area Instead of Free Area

Air does not pass through blocked sections.

Ignoring Blade Overlap

Overlapping blades reduce airflow.

Wrong Units

Keep all measurements consistent.

Underestimating Obstructions

Frames and supports also block air.

Forgetting Velocity Limits

High velocity causes noise and pressure loss.

Frequently Asked Questions

What Is Louver Free Area?

It is the open space where air can flow.

Why Is Free Area Important?

It affects airflow and ventilation efficiency.

Do All Louvers Have the Same Free Area?

No, blade design changes it.

Can This Be Used for Exhaust Systems?

Yes, for both intake and exhaust.

Is Free Area the Same as Opening Size?

No, it is always smaller.

Final Words

The Louver Free Area Calculator is an essential tool for anyone working with ventilation, HVAC, or building design. It helps you understand how much air can actually pass through a louver, not just how big the opening looks.

By using correct measurements and reliable formulas, you can select the right louvers, improve airflow performance, and avoid costly design mistakes. Whether you are planning a small building or a large industrial system, this calculator gives you the clarity you need for efficient and safe ventilation.

Similar Posts

  • Area Using Cross Product Calculator – Find Triangle and Parallelogram Area

    Calculator Wrapper   In mathematics, geometry, physics, and engineering, vectors are used to describe direction and magnitude. When two vectors meet at a point, they form a shape in space. Using the cross product, we can find the area of that shape. This method is especially useful for calculating the area of triangles and parallelograms…

  • Cardioid Area Calculator – Find Area Inside a Cardioid Curve

    Cardioid Area Calculator Cardioid Area Calculator Radius (a) 0.00 Area Formula: Area = 6πa²   In mathematics, some curves look simple, while others look more interesting and complex. One such curve is the cardioid. It has a heart-like shape and appears often in geometry, calculus, and polar coordinate problems. When students or learners are asked…

  • Rhombus Area Calculator – Find Area with Diagonals, Height, or Angle

    Rhombus Area Calculator Rhombus Area Calculator Compute area from diagonals, side & angle, side & height, coordinates, or vectors. Calculation Mode Diagonals (d₁, d₂)Side & Angle (a, θ)Side & Height (a, h)Coordinates (Vertices)Vectors (u, v) Diagonal d₁ mcmmmftinyd Diagonal d₂ mcmmmftinyd Side Length (a) mcmmmftin Apply Angle (θ) degrad Side (a) mcmmmftin Height (h) mcmmmftin…

  • Lemniscate Area Calculator – Find Area Enclosed by the Curve

    // Base64 Content var b64 = “PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPHRpdGxlPkxlbW5pc2NhdGUgQXJlYSBDYWxjdWxhdG9yPC90aXRsZT4KICAgIDxzdHlsZT4KICAgICAgICA6cm9vdCB7CiAgICAgICAgICAgIC0tcHJpbWFyeTogIzljMjdiMDsKICAgICAgICAgICAgLyogUHVycGxlICovCiAgICAgICAgICAgIC0tcHJpbWFyeS1saWdodDogI2UxYmVlNzsKICAgICAgICAgICAgLS1zZWNvbmRhcnk6ICMwMGJjZDQ7CiAgICAgICAgICAgIC8qIEN5YW4gKi8KICAgICAgICAgICAgLS1iZy1wYWdlOiAjZjNlNWY1OwogICAgICAgICAgICAtLWJnLWNhcmQ6ICNmZmZmZmY7CiAgICAgICAgICAgIC0tc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7CiAgICAgICAgICAgIC0tYm9yZGVyOiAjZTBlMGUwOwogICAgICAgIH0KCiAgICAgICAgKiB7CiAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdTZWdvZSBVSScsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIGJvZHkgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wYWdlKTsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDE1cHg7CiAgICAgICAgfQoKICAgICAgICAuY2FsYy1jYXJkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICAgICAgICBwYWRkaW5nOiAzMHB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuaGVhZGVyIGgyIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBjb2xvcjogIzMzMzsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIH0KCiAgICAgICAgLmhlYWRlciBwIHsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBjb2xvcjogIzY2NjsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtOwogICAgICAgIH0KCiAgICAgICAgLnR5cGUtc2VsZWN0b3IgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBnYXA6IDE1cHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLnR5cGUtYnRuIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjsKICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2RkZDsKICAgICAgICAgICAgcGFkZGluZzogMTVweCAyNXB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4yczsKICAgICAgICAgICAgZmxleDogMTsKICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDsKICAgICAgICB9CgogICAgICAgIC50eXBlLWJ0bjpob3ZlciB7CiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1saWdodCk7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7CiAgICAgICAgfQoKICAgICAgICAudHlwZS1idG4uYWN0aXZlIHsKICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2YzZTVmNTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTU2LCAzOSwgMTc2LCAwLjIpOwogICAgICAgIH0KCiAgICAgICAgLnR5cGUtdGl0bGUgewogICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICAgICAgY29sb3I6ICMzMzM7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtOwogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIH0KCiAgICAgICAgLnR5cGUtZXEgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmOwogICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgICAgIGNvbG9yOiAjNjY2OwogICAgICAgICAgICBmb250LXNpemU6IDFyZW07CiAgICAgICAgfQoKICAgICAgICAuaW5wdXQtYXJlYSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogMTVweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y5ZjlmOTsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlOwogICAgICAgIH0KCiAgICAgICAgLmlucHV0LWdyb3VwIHsKICAgICAgICAgICAgZmxleDogMTsKICAgICAgICB9CgogICAgICAgIC5pbnB1dC1ncm91cCBsYWJlbCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNTU1OwogICAgICAgIH0KCiAgICAgICAgaW5wdXQgewogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTsKICAgICAgICB9CgogICAgICAgIC5idG4tY2FsYyB7CiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMzBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeSk7CiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07CiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4yczsKICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7CiAgICAgICAgfQoKICAgICAgICAuYnRuLWNhbGM6aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjN2IxZmEyOwogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7CiAgICAgICAgfQoKICAgICAgICAucmVzdWx0LWJveCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlMGYyZjE7CiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tc2Vjb25kYXJ5KTsKICAgICAgICAgICAgcGFkZGluZzogMTVweDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAucmVzLWxibCB7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBjb2xvcjogIzAwNjk1YzsKICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICB9CgogICAgICAgIC5yZXMtdmFsIHsKICAgICAgICAgICAgZm9udC1zaXplOiAycmVtOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBjb2xvcjogIzAwNGQ0MDsKICAgICAgICB9CgogICAgICAgIC52aXMtY29udGFpbmVyIHsKICAgICAgICAgICAgaGVpZ2h0OiAzNTBweDsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH0KCiAgICAgICAgLm1hdGgtc3RlcHMgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7CiAgICAgICAgfQoKICAgICAgICAuc3RlcC1oZWFkIHsKICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnkpOwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsKICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDsKICAgICAgICB9CgogICAgICAgIC5zdGVwLXJvdyB7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtOwogICAgICAgICAgICBjb2xvcjogIzQ0NDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjsKICAgICAgICB9CgogICAgICAgIC5zdGVwLWRlc2MgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgY29sb3I6ICM3Nzc7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTsKICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cgo8Ym9keT4KCiAgICA8ZGl2IGNsYXNzPSJjYWxjLWNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICAgIDxoMj5MZW1uaXNjYXRlIEFyZWEgQ2FsY3VsYXRvcjwvaDI+CiAgICAgICAgICAgIDxwPkNhbGN1bGF0ZSB0aGUgYXJlYSBvZiAiRmlndXJlLTgiIHNoYXBlZCBjdXJ2ZXMuPC9wPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0eXBlLXNlbGVjdG9yIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idHlwZS1idG4gYWN0aXZlIiBvbmNsaWNrPSJzZXRNb2RlKCdiZXJub3VsbGknKSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idHlwZS10aXRsZSI+QmVybm91bGxpPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InR5cGUtZXEiPnLCsiA9IGHCsmNvcygyzrgpPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idHlwZS1idG4iIG9uY2xpY2s9InNldE1vZGUoJ2dlcm9ubycpIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0eXBlLXRpdGxlIj5HZXJvbm88L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idHlwZS1lcSI+eOKBtCA9IGHCsih4wrIgLSB5wrIpPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYXJlYSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgICAgICAgIDxsYWJlbD5Db25zdGFudCAnYSc8L2xhYmVsPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgaWQ9ImlucF9hIiB2YWx1ZT0iNSIgcGxhY2Vob2xkZXI9IkVudGVyIHZhbHVlIGZvciBhIj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1jYWxjIiBvbmNsaWNrPSJjYWxjdWxhdGUoKSI+Q2FsY3VsYXRlPC9idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InJlc3VsdC1ib3giPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzLWxibCI+VG90YWwgRW5jbG9zZWQgQXJlYTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjAuODVyZW07IGNvbG9yOiMwMDc5NmI7IG1hcmdpbi10b3A6M3B4IiBpZD0icmVzX2VxIj5BID0gYcKyPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXMtdmFsIiBpZD0icmVzX3ZhbCI+LS08L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0idmlzLWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcyI+PC9jYW52YXM+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9Im1hdGgtc3RlcHMiIGlkPSJzdGVwc19wYW5lbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtaGVhZCI+SG93IGl0J3MgQ2FsY3VsYXRlZDwvZGl2PgogICAgICAgICAgICA8IS0tIFN0ZXBzIGluamVjdGVkIGhlcmUgLS0+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8c2NyaXB0PgogICAgICAgIGxldCBtb2RlID0gJ2Jlcm5vdWxsaSc7CgogICAgICAgIGZ1bmN0aW9uIHNldE1vZGUobSkgewogICAgICAgICAgICBtb2RlID0gbTsKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnR5cGUtYnRuJykuZm9yRWFjaChidG4gPT4gYnRuLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpKTsKICAgICAgICAgICAgY29uc3QgaWR4ID0gbSA9PT0gJ2Jlcm5vdWxsaScgPyAwIDogMTsKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnR5cGUtYnRuJylbaWR4XS5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTsKICAgICAgICAgICAgY2FsY3VsYXRlKCk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjYWxjdWxhdGUoKSB7CiAgICAgICAgICAgIGNvbnN0IGEgPSBwYXJzZUZsb2F0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnBfYScpLnZhbHVlKTsKICAgICAgICAgICAgaWYgKGlzTmFOKGEpIHx8IGEgPD0gMCkgcmV0dXJuOwoKICAgICAgICAgICAgbGV0IGFyZWEgPSAwOwogICAgICAgICAgICBsZXQgc3RlcHNIdG1sID0gJyc7CiAgICAgICAgICAgIGxldCBmb3JtdWxhRGlzcCA9ICcnOwoKICAgICAgICAgICAgaWYgKG1vZGUgPT09ICdiZXJub3VsbGknKSB7CiAgICAgICAgICAgICAgICBhcmVhID0gYSAqIGE7CiAgICAgICAgICAgICAgICBmb3JtdWxhRGlzcCA9ICdBID0gYcKyJzsKCiAgICAgICAgICAgICAgICBzdGVwc0h0bWwgPSBgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgJCQgcl4yID0gYV4yIFxcY29zKDJcXHRoZXRhKSAkJAogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGVwLWRlc2MiPlBvbGFyIEVxdWF0aW9uPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgJCQgQSA9IDIgXFxpbnRfey1cXHBpLzR9XntcXHBpLzR9IFxcZnJhY3sxfXsyfSByXjIgZFxcdGhldGEgJCQKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcC1kZXNjIj5TeW1tZXRyeTogQXJlYSBvZiB0d28gbG9vcHM8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtcm93Ij4KICAgICAgICAgICAgICAgICAgICAkJCBBID0gYV4yIFxcaW50X3stXFxwaS80fV57XFxwaS80fSBcXGNvcygyXFx0aGV0YSkgZFxcdGhldGEgJCQKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcC1kZXNjIj5TdWJzdGl0dXRlIHLCsjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC1yb3ciPgogICAgICAgICAgICAgICAgICAgICQkIEEgPSBhXjIgWyBcXGZyYWN7MX17Mn1cXHNpbigyXFx0aGV0YSkgXV97LVxccGkvNH1ee1xccGkvNH0gJCQKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcC1kZXNjIj5JbnRlZ3JhdGUgY29zKDLOuCk8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtcm93Ij4KICAgICAgICAgICAgICAgICAgICAkJCBBID0gYV4yIChcXGZyYWN7MX17Mn0oMSkgLSBcXGZyYWN7MX17Mn0oLTEpKSA9IGFeMiAkJAogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGVwLWRlc2MiPkZpbmFsIFJlc3VsdDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOwoKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIEdlcm9ubwogICAgICAgICAgICAgICAgYXJlYSA9ICg0IC8gMykgKiBhICogYTsKICAgICAgICAgICAgICAgIGZvcm11bGFEaXNwID0gJ0EgPSA0LzMgYcKyJzsKCiAgICAgICAgICAgICAgICBzdGVwc0h0bWwgPSBgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgJCQgeF40ID0gYV4yKHheMiAtIHleMikgJCQKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcC1kZXNjIj5DYXJ0ZXNpYW4gRXF1YXRpb248L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXAtcm93Ij4KICAgICAgICAgICAgICAgICAgICAkJCB5ID0gXFxwbSB4IFxcc3FydHsxIC0gXFxmcmFje3heMn17YV4yfX0gJCQKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcC1kZXNjIj5Tb2x2ZSBmb3IgeTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC1yb3ciPgogICAgICAgICAgICAgICAgICAgICQkIEEgPSA0IFxcaW50XzBeYSB4IFxcc3FydHsxIC0gXFxmcmFje3heMn17YV4yfX0gZHggJCQKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcC1kZXNjIj5JbnRlZ3JhdGUgeSBkeCAoNCBxdWFkcmFudHMpPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgJCQgQSA9IFxcZnJhY3s0fXszfSBhXjIgJCQKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RlcC1kZXNjIj5SZXN1bHQgYWZ0ZXIgc3Vic3RpdHV0aW9uPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNfdmFsJykuaW5uZXJUZXh0ID0gYXJlYS50b0ZpeGVkKDQpOwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzX2VxJykuaW5uZXJUZXh0ID0gZm9ybXVsYURpc3A7CgogICAgICAgICAgICAvLyBSZW5kZXIgU3RlcHMgKHNpbXVsYXRlIG1hdGhqYXgpCiAgICAgICAgICAgIGNvbnN0IHBhbmVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0ZXBzX3BhbmVsJyk7CiAgICAgICAgICAgIHBhbmVsLmlubmVySFRNTCA9ICc8ZGl2IGNsYXNzPSJzdGVwLWhlYWQiPkhvdyBpdFwncyBDYWxjdWxhdGVkPC9kaXY+JyArIHN0ZXBzSHRtbDsKICAgICAgICAgICAgcmVuZGVyTWF0aChwYW5lbCk7CgogICAgICAgICAgICBkcmF3KGEpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gcmVuZGVyTWF0aChlbCkgewogICAgICAgICAgICAvLyBTaW1wbGUgcmVnZXggcmVwbGFjZSBmb3IgdmlzdWFscyBzaW5jZSB3ZSBsYWNrIGZ1bGwgTWF0aEpheAogICAgICAgICAgICBsZXQgaCA9IGVsLmlubmVySFRNTDsKICAgICAgICAgICAgaCA9IGgucmVwbGFjZSgvXCRcJC9nLCAnJyk7CiAgICAgICAgICAgIGggPSBoLnJlcGxhY2UoL1xcaW50X1x7KFtefV0rKVx9XF5ceyhbXn1dKylcfS9nLCAn4oirPHN1Yj4kMTwvc3ViPjxzdXA+JDI8L3N1cD4nKTsKICAgICAgICAgICAgaCA9IGgucmVwbGFjZSgvXFxmcmFjXHsoW159XSspXH1ceyhbXn1dKylcfS9nLCAnKCQxLyQyKScpOwogICAgICAgICAgICBoID0gaC5yZXBsYWNlKC9cXHBpL2csICfPgCcpOwogICAgICAgICAgICBoID0gaC5yZXBsYWNlKC9cXHRoZXRhL2csICfOuCcpOwogICAgICAgICAgICBoID0gaC5yZXBsYWNlKC9cXGNvcy9nLCAnY29zJyk7CiAgICAgICAgICAgIGggPSBoLnJlcGxhY2UoL1xcc2luL2csICdzaW4nKTsKICAgICAgICAgICAgaCA9IGgucmVwbGFjZSgvXFxwbS9nLCAnwrEnKTsKICAgICAgICAgICAgaCA9IGgucmVwbGFjZSgvXFxzcXJ0XHsoW159XSspXH0vZywgJ+KImigkMSknKTsKICAgICAgICAgICAgZWwuaW5uZXJIVE1MID0gaDsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGRyYXcoYSkgewogICAgICAgICAgICBjb25zdCBjdnMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FudmFzJyk7CiAgICAgICAgICAgIGNvbnN0IGN0eCA9IGN2cy5nZXRDb250ZXh0KCcyZCcpOwogICAgICAgICAgICBjb25zdCB3ID0gY3ZzLnBhcmVudEVsZW1lbnQuY2xpZW50V2lkdGg7CiAgICAgICAgICAgIGNvbnN0IGggPSBjdnMucGFyZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7CiAgICAgICAgICAgIGN2cy53aWR0aCA9IHc7IGN2cy5oZWlnaHQgPSBoOwoKICAgICAgICAgICAgY29uc3QgY3ggPSB3IC8gMiwgY3kgPSBoIC8gMjsKCiAgICAgICAgICAgIC8vIFNjYWxlOiBmaXQgMmEgd2lkdGggKGFwcHJveCkgaW4gY2FudmFzCiAgICAgICAgICAgIC8vIEJlcm5vdWxsaSBtYXggd2lkdGggaXMgMmEqc3FydCgyKT8gTm8sIG1heCByYWRpdXMgaXMgYS4gVG90YWwgd2lkdGggMmEuCiAgICAgICAgICAgIC8vIEdlcm9ubyB4IGdvZXMgdG8gYS4gVG90YWwgd2lkdGggMmEuCiAgICAgICAgICAgIC8vIFNvIHNjYWxlIGJhc2VkIG9uICdhJy4KICAgICAgICAgICAgY29uc3QgcGFkZGluZyA9IDQwOwogICAgICAgICAgICBjb25zdCBzY2FsZSA9IChNYXRoLm1pbih3LCBoKSAtIDIgKiBwYWRkaW5nKSAvICgyICogYSk7IC8vIGEgYml0IGxvb3NlCgogICAgICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSAnI2RkZCc7CiAgICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgY3R4Lm1vdmVUbygwLCBjeSk7IGN0eC5saW5lVG8odywgY3kpOwogICAgICAgICAgICBjdHgubW92ZVRvKGN4LCAwKTsgY3R4LmxpbmVUbyhjeCwgaCk7CiAgICAgICAgICAgIGN0eC5zdHJva2UoKTsKCiAgICAgICAgICAgIGN0eC5saW5lV2lkdGggPSAzOwogICAgICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSAobW9kZSA9PT0gJ2Jlcm5vdWxsaScpID8gJyM5YzI3YjAnIDogJyMwMGJjZDQnOwogICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gKG1vZGUgPT09ICdiZXJub3VsbGknKSA/ICdyZ2JhKDE1NiwgMzksIDE3NiwgMC4xKScgOiAncmdiYSgwLCAxODgsIDIxMiwgMC4xKSc7CgogICAgICAgICAgICBjdHguYmVnaW5QYXRoKCk7CgogICAgICAgICAgICBpZiAobW9kZSA9PT0gJ2Jlcm5vdWxsaScpIHsKICAgICAgICAgICAgICAgIC8vIFBhcmFtZXRyaWM6IHggPSBhKnNxcnQoMikqY29zKHQpIC8gKDErc2luXjIgdCksIHkgPSAuLi4KICAgICAgICAgICAgICAgIC8vIE9yIGp1c3QgcG9sYXIgciA9IGEqc3FydChjb3MoMnQpKQogICAgICAgICAgICAgICAgLy8gTG9vcCB0IGZyb20gLVBJLzQgdG8gUEkvNCAoUmlnaHQgTG9vcCkgYW5kIDNQSS80IHRvIDVQSS80IChMZWZ0IExvb3ApCgogICAgICAgICAgICAgICAgLy8gRHJhdyBSaWdodCBMb29wCiAgICAgICAgICAgICAgICBkcmF3UG9sYXJMb29wKGN0eCwgY3gsIGN5LCBzY2FsZSwgYSwgLU1hdGguUEkgLyA0LCBNYXRoLlBJIC8gNCk7CiAgICAgICAgICAgICAgICAvLyBEcmF3IExlZnQgTG9vcAogICAgICAgICAgICAgICAgZHJhd1BvbGFyTG9vcChjdHgsIGN4LCBjeSwgc2NhbGUsIGEsIDMgKiBNYXRoLlBJIC8gNCwgNSAqIE1hdGguUEkgLyA0KTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBHZXJvbm86IHggPSBhKnNpbih0KSwgeSA9IGEqc2luKHQpY29zKHQpCiAgICAgICAgICAgICAgICAvLyB0IGZyb20gMCB0byAyUEkKICAgICAgICAgICAgICAgIGxldCBzdGFydGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICBmb3IgKGxldCB0ID0gMDsgdCA8PSBNYXRoLlBJICogMjsgdCArPSAwLjAxKSB7CiAgICAgICAgICAgICAgICAgICAgY29uc3QgeCA9IGEgKiBNYXRoLnNpbih0KTsKICAgICAgICAgICAgICAgICAgICBjb25zdCB5ID0gYSAqIE1hdGguc2luKHQpICogTWF0aC5jb3ModCk7CgogICAgICAgICAgICAgICAgICAgIGNvbnN0IHB4ID0gY3ggKyB4ICogc2NhbGU7CiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHkgPSBjeSAtIHkgKiBzY2FsZTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdGFydGVkKSB7IGN0eC5tb3ZlVG8ocHgsIHB5KTsgc3RhcnRlZCA9IHRydWU7IH0KICAgICAgICAgICAgICAgICAgICBlbHNlIGN0eC5saW5lVG8ocHgsIHB5KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGN0eC5jbG9zZVBhdGgoKTsKICAgICAgICAgICAgICAgIGN0eC5zdHJva2UoKTsKICAgICAgICAgICAgICAgIGN0eC5maWxsKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGRyYXdQb2xhckxvb3AoY3R4LCBjeCwgY3ksIHNjYWxlLCBhLCB0MSwgdDIpIHsKICAgICAgICAgICAgbGV0IHN0YXJ0ZWQgPSBmYWxzZTsKICAgICAgICAgICAgLy8gU3RlcCBzaXplCiAgICAgICAgICAgIGNvbnN0IHN0ZXAgPSAwLjAxOwogICAgICAgICAgICBsZXQgcHRzID0gW107CgogICAgICAgICAgICBmb3IgKGxldCB0ID0gdDE7IHQgPD0gdDI7IHQgKz0gc3RlcCkgewogICAgICAgICAgICAgICAgLy8gcl4yID0gYV4yIGNvcygydCkuIElmIGNvcygydCk8MCwgdW5kZWZpbmVkIChpbWFnaW5hcnkpCiAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSBNYXRoLmNvcygyICogdCk7CiAgICAgICAgICAgICAgICBpZiAodmFsIDwgMCkgY29udGludWU7CgogICAgICAgICAgICAgICAgY29uc3QgciA9IGEgKiBNYXRoLnNxcnQodmFsKTsKICAgICAgICAgICAgICAgIGNvbnN0IHggPSByICogTWF0aC5jb3ModCk7CiAgICAgICAgICAgICAgICBjb25zdCB5ID0gciAqIE1hdGguc2luKHQpOwogICAgICAgICAgICAgICAgcHRzLnB1c2goeyB4LCB5IH0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBKb2luIHRvIGNlbnRlcj8gQmVybm91bGx1IHBhc3NlcyB0aHJvdWdoIDAuCiAgICAgICAgICAgIC8vIEVuc3VyZSBwYXRoIGlzIGNsb3NlZCBwcm9wZXJseQogICAgICAgICAgICBwdHMucHVzaCh7IHg6IDAsIHk6IDAgfSk7IC8vIENsb3NlIGF0IGNlbnRlcgoKICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICBjdHgubW92ZVRvKGN4LCBjeSk7IC8vIFN0YXJ0IGNlbnRlcgoKICAgICAgICAgICAgcHRzLmZvckVhY2gocCA9PiB7CiAgICAgICAgICAgICAgICBjdHgubGluZVRvKGN4ICsgcC54ICogc2NhbGUsIGN5IC0gcC55ICogc2NhbGUpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIGN0eC5saW5lVG8oY3gsIGN5KTsKICAgICAgICAgICAgY3R4LnN0cm9rZSgpOwogICAgICAgICAgICBjdHguZmlsbCgpOwogICAgICAgIH0KCiAgICAgICAgLy8gSW5pdAogICAgICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHNldFRpbWVvdXQoY2FsY3VsYXRlLCAxMDApOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IGRyYXcocGFyc2VGbG9hdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wX2EnKS52YWx1ZSkpKTsKCiAgICA8L3NjcmlwdD4KPC9ib2R5PgoKPC9odG1sPg==”; var htmlContent = “”; try { htmlContent = atob(b64); } catch (e) { console.error(“Base64 decode failed”, e); wrapper.innerHTML = ” Error loading calculator. “; return; } // Create Iframe var iframe = document.createElement(‘iframe’); iframe.style.width = “100%”; iframe.style.border = “none”; iframe.style.overflow = “hidden”; iframe.scrolling = “no”; iframe.style.minHeight = “400px”;…

  • Draw Area Calculator – Measure Any Shape by Drawing It

    var c = document.getElementById(“wp-draw-area-root-b64”); if(c) { // 1. Decode and inject HTML var decoded = atob(p); c.innerHTML = decoded; // 2. Execute Scripts (innerHTML does not auto-execute scripts) var scripts = c.getElementsByTagName(“script”); var arr = []; // Copy to array because the collection is live and might change for(var i=0; i This guide explains what…

  • Paint Coverage Calculator — How Much Paint You Need

    Paint Chemist: Area & Coverage Calculator Texture Logic • Sheen Separator • Primer Engine 1. Room & Surfaces Length (ft) Width (ft) Height (ft) # Doors/Windows Paint Ceiling? Paint Trim (Base/Frames)? 2. Wall Condition (Coverage Logic) Wall Texture Smooth Std Coverage Orange Peel +25% Paint Stucco +40% Paint New Drywall? (Needs Primer) Coats (Finish) 1…