pyRevit

Free, open-source Revit extension (Rapid Application Development environment) that lets teams write and distribute custom Python/C# tools directly inside Revit, created by Ehsan Iran-Nejad and now community-maintained.

🔌 Plugin · works inside Revit
BIMRevit PluginAutomationOpen SourceFree
Overview

pyRevit is a free, open-source Rapid Application Development (RAD) environment for Autodesk Revit -- not a standalone product, but a plugin that runs inside an existing Revit installation and turns it into a platform for writing, distributing, and running custom automation tools. It was started as a personal passion project by architect-turned-developer Ehsan Iran-Nejad, who built it specifically to make Revit "less dumb" for his own daily use, before sharing it publicly and watching it grow into one of the most widely adopted community tools in the Revit ecosystem.

The core idea is letting any Revit user write their own custom tools using Python (both IronPython and CPython are supported) or C#/VB.Net, directly against Revit's own API, without needing to set up a full separate Visual Studio add-in development environment first. That lower barrier to entry is precisely why pyRevit has become the standard on-ramp for BIM managers and technically-minded architects who want to automate a specific repetitive task but aren't full-time software developers.

Beyond the scripting environment itself, pyRevit ships with an extensive built-in tool library covering common needs out of the box -- enhanced selection methods, model organization and cleanup utilities, element information queries, and other productivity tools that a team can start using immediately without writing a single line of code. A CLI utility handles configuration and deployment, letting a BIM manager package and push a firm's custom tools out to every user's Revit installation consistently, rather than manually installing scripts on each machine.

pyRevit also includes an optional telemetry server, letting firms monitor how their custom tools are actually being used across a team -- which tools get run, how often, by whom -- turning tool adoption from a guess into something a BIM manager can actually measure and act on.

Because pyRevit runs as an extension inside Revit rather than a separate application, it inherits Revit's own file format, model, and session entirely -- there's no separate license server, no separate file format to manage, and no data-exchange step between pyRevit and the model it's operating on. That tight integration is part of why it's spread so widely purely through word of mouth inside the Revit community rather than through a traditional sales or marketing effort: a BIM manager at one firm builds a useful internal tool, shares it with a peer at another firm, and the platform's reach grows organically from genuinely useful shared tooling rather than paid promotion.

Because pyRevit is entirely free and GPL v3 licensed, with development now maintained by a community of collaborators (pyrevitlabs on GitHub) rather than a single commercial vendor, it carries none of the typical per-seat licensing cost that comes with most Revit add-ins in this catalog like Ideate BIMLink or AVAIL. That also means there's no vendor support contract or SLA behind it -- support comes from the GitHub repository, issue tracker, and a broader community of contributors and downstream extension authors (community-built extensions like Rev.It build directly on top of the pyRevit platform).

Editor’s takeBIM•STACK editor's take: pyRevit earns a genuinely unusual place in this catalog as a plugin that isn't really one specific tool so much as a foundation other tools get built on top of -- the honest comparison isn't "pyRevit vs. Ideate BIMLink" so much as "pyRevit is the platform many teams' own internal Ideate-BIMLink-style tools get built on." For firms with even one person willing to learn basic Python scripting, that's an enormously capable, zero-cost lever; for firms with no internal scripting capacity at all, the built-in tool library alone is still worth adopting, but the platform's deeper value stays mostly locked behind a skill most architecture firms don't have in-house by default.

pyRevit has two distinct learning curves, similar in spirit to Rhino/Grasshopper's split between core modeling and visual scripting. Using the built-in tool library -- selection tools, model cleanup utilities, QA/QC checks -- requires essentially no learning curve at all: install the extension, and the tools appear directly in the Revit ribbon, ready to use like any other native Revit command.

Writing custom tools is a genuinely different undertaking, requiring real comfort with Python (or C#/VB.Net) and enough familiarity with Revit's own API to know what to automate and how. That's a real, non-trivial skill investment -- but because pyRevit specifically lowers the setup overhead versus a traditional Visual Studio-based Revit add-in project, BIM managers and technically-curious architects who already have some scripting exposure (even from Dynamo) tend to find pyRevit a meaningfully faster path to a working custom tool than starting a full add-in project from scratch.

Key Features
✓Write Custom Revit Tools in Python or C#
✓Extensive Built-In Tool Library (Selection, QA/QC, Model Health)
✓Team-Wide Tool & Extension Distribution
✓CLI for Deployment & Configuration
✓Telemetry Server for Usage Monitoring
✓Free & Open Source (GPL v3)
Pros
Genuinely free and open sourceGPL v3 licensed with no per-seat cost, unlike almost every other Revit add-in in this catalog.
Write custom tools in Python or C#/VB.NetLowers the barrier to Revit API automation considerably versus setting up a full separate add-in development environment.
Extensive built-in tool librarySelection, model organization, QA/QC and other productivity tools work immediately with no coding required.
Team-wide deployment via CLIBIM managers can package and push custom tools consistently across every user's Revit install.
Built-in usage telemetryOptional telemetry server lets a team measure which custom tools actually get used, rather than guessing at adoption.
Large, active community ecosystemA genuine ecosystem of community-built extensions has grown on top of the platform.
Cons
No vendor support or SLASupport comes from the GitHub community, not a paid support contract -- a real consideration for firms wanting guaranteed response times.
Custom tool development requires real scripting skillGetting the platform's deepest value requires someone on the team who can write Python or C#, which many firms don't have in-house.
Not a BIM/IFC-native or openBIM-focused toolIt's a Revit-specific automation platform, not a cross-platform or IFC-native tool.
No formal training or certification pathUnlike commercial Revit add-ins, there's no vendor-run onboarding program -- learning happens through documentation and community resources.
Common Feature Checklist
Cloud / Web Access✕ No
Real-Time Collaboration✕ No
Mobile App✕ No
Free Educational License✓ Yes
Public API / Integrations✓ Yes
Best For
  • BIM managers wanting to automate firm-specific repetitive tasksCustom Python/C# tools can be built and deployed team-wide via the CLI, tailored to a firm's exact workflow.
  • Firms wanting productivity tools with zero licensing costThe built-in tool library alone delivers real value with no coding required and no per-seat fee.
  • Technically-curious architects and Revit power usersA genuinely accessible on-ramp into Revit API scripting for people without a full software-development background.
  • Firms already comfortable with Dynamo wanting a lower-overhead scripting optionpyRevit's Python-first approach appeals to teams wanting text-based scripting alongside or instead of Dynamo's visual programming.
Consider Alternatives If
  • You need vendor support and an SLA behind a Revit add-inIdeate BIMLink or AVAIL are commercially supported, paid alternatives with a vendor support contract.
  • You want visual, node-based scripting instead of writing codeDynamo (bundled with Revit) offers a visual-programming alternative to pyRevit's text-based Python/C# approach.
  • You have no internal scripting capacity and need a ready-made solutionA purpose-built commercial add-in solving your specific task directly may deliver more value than a general automation platform.
Frequently Asked Questions
Is pyRevit really free?

Yes -- pyRevit is free and open source under the GPL v3 license, with no per-seat licensing cost.

Do I need to know how to code to use pyRevit?

No for the built-in tool library, which works immediately with no coding required. Yes, if you want to write your own custom tools, which requires Python or C#/VB.Net.

Who created pyRevit?

Ehsan Iran-Nejad, an architect who built it originally for his own use before sharing it publicly; it's now maintained by a community of collaborators (pyrevitlabs).

Does pyRevit work with Dynamo or Grasshopper?

pyRevit includes tools for distributing Dynamo and Grasshopper scripts to teams alongside its own Python/C# tools, using a unified deployment interface.

Is there support if something breaks?

There's no formal vendor support contract -- support comes from the GitHub repository, issue tracker, and the broader open-source community.

Community Rating
☆☆☆☆☆No ratings yet
Be the first to rate it
Pricing
No free trial
Free
open source, GPL v3
Pricing found on pyRevit's own site in September 2026. Software pricing changes often — always confirm the current price on the vendor's site before buying.
Score Profile Prototype
Price: 10/10 -- Free and open source (GPL v3) — highest possible score for affordability, draft estimate.10Learning Curve: 6/10 -- Built-in tools are easy to install and use; writing custom Python/C# tools is a real, separate skill — draft estimate.6IFC / openBIM: 2/10 -- A Revit-native automation/scripting environment, not an IFC/openBIM-focused tool — draft estimate.2Collaboration: 4/10 -- Supports distributing tools/extensions across a team via its CLI, but no real-time multi-user editing of its own — draft estimate.4Plugins: 8.5/10 -- A large, active community extension ecosystem has grown around pyRevit itself — draft estimate, not yet sourced to a specific count.8.5Performance: 6.5/10 -- No independent performance benchmarks found — draft estimate, not yet vendor/third-party verified.6.5PriceLearning CurveIFC / openBIMCollaborationPluginsPerformance246810
Price10/10Free and open source (GPL v3) — highest possible score for affordability, draft estimate.
Learning Curve6/10Built-in tools are easy to install and use; writing custom Python/C# tools is a real, separate skill — draft estimate.
IFC / openBIM2/10A Revit-native automation/scripting environment, not an IFC/openBIM-focused tool — draft estimate.
Collaboration4/10Supports distributing tools/extensions across a team via its CLI, but no real-time multi-user editing of its own — draft estimate.
Plugins8.5/10A large, active community extension ecosystem has grown around pyRevit itself — draft estimate, not yet sourced to a specific count.
Performance6.5/10No independent performance benchmarks found — draft estimate, not yet vendor/third-party verified.
This is a prototype, not a published score. Only the Price axis is derived from a verified catalog field (priceBand); the other axes are draft editorial estimates awaiting vendor/third-party sourcing before this ships publicly.
Alternatives
View all BIM software →
Sources: researched from docs.pyrevitlabs.io, github.com/pyrevitlabs/pyRevit.