RFA File Documentation
Summary
A Revit Family File is a single reusable, parametric BIM component — a door, window, light fixture, piece of furniture or structural beam — used inside Autodesk Revit building models. Its MIME type is application/octet-stream. A .rfa is created and edited only in Revit’s Family Editor (paid); to just view one, upload it to the free Autodesk Viewer in a browser. RFA is version-specific: a newer Revit’s family will not open in an older Revit, the top reason an .rfa “won’t open”.
Technical details
| Feature | Value |
|---|---|
| Full name | Revit Family File |
| File extension | .rfa |
| MIME type | application/octet-stream |
| Format type | Proprietary binary BIM family (parametric 3D component) |
| Developer | Autodesk |
| Introduced | Revit released 2000; Autodesk acquired Revit Technology Corp. 2002 |
| Container | Microsoft OLE2 / Compound File Binary (structured storage) |
| Magic number | D0 CF 11 E0 A1 B1 1A E1 (OLE2 header, offset 0) |
| Authored in | Revit Family Editor, starting from a family template (.rft) |
| Version lock | Yes — tied to the saving Revit version; no down-save |
| Open standard | No — proprietary and version-specific |
| Free viewer | Autodesk Viewer (web, viewer.autodesk.com) |
| Editor | Autodesk Revit (subscription) |
| Placed into | Revit project files (.rvt) via Load Family |
| Export targets | .fbx, .dwg, .ifc, .stl (add-in), .pdf — geometry only |
| Related extensions | .rvt, .rte, .rft, .ifc, .adsk |
| Specification URL | autodesk.com/products/revit/overview |
What is an RFA file?
RFA is the family file format of Autodesk Revit, the BIM (Building Information Modeling) authoring application first released in 2000 and acquired by Autodesk in 2002. In Revit, a “family” is a reusable, intelligent building component: every door, window, column, light fixture, plumbing fixture, title block and piece of furniture in a model is an instance of a family. An .rfa stores exactly one loadable family — its 3D and 2D geometry, its parameters (width, height, material), its types or variations, and the parametric rules that let it flex when placed into a project.
Architects and MEP and structural engineers rarely build every family from scratch. They download .rfa content from manufacturer libraries, so a real product appears in the model with correct dimensions and data, or from content portals and Autodesk’s built-in library, and then load those families into a project (.rvt). The format is proprietary and binary, and it is stored in a Microsoft OLE2 compound-file container, the same wrapper as Revit project files. This article covers how that container works, how a family differs from a project, why the format is version-locked, and the supply-chain risk that makes family provenance a real concern.
The OLE2 compound-file container
A .rfa begins with the eight-byte OLE2 signature D0 CF 11 E0 A1 B1 1A E1, the Microsoft Compound File Binary header. Compound File Binary is a small filesystem inside a single file: it organises data into named streams (the equivalent of files) grouped under storages (the equivalent of folders), all indexed by an internal FAT-like allocation table. This is the same structured-storage format that old Microsoft Office documents used, which is why a .rfa, a .rvt and a legacy .doc share the identical first eight bytes.
The signature by itself does not tell you which of those you are holding. What distinguishes a Revit family is the set of internal streams. A stream named BasicFileInfo, for example, carries a human-readable block that includes the Revit build and version that saved the file. Revit reads that version marker before it does anything else, and it is exactly this stored version that enforces the format’s version lock, discussed below. The geometry, parameters and family metadata live in other proprietary streams within the compound file, in Autodesk’s own binary encoding that is not publicly documented.
Inside a family: geometry, parameters and the parametric skeleton
A family is not a static mesh; it is a rule-driven object. The .rfa holds several distinct kinds of content that together make it “intelligent”.
.rfa (OLE2 compound file)
├─ family geometry 3D solids/voids + 2D linework
├─ reference planes the parametric skeleton the geometry is locked to
├─ constraints dimensional + geometric rules driving how it flexes
├─ parameters & types width/height/material, instance vs type, variations
├─ family category door, window, furniture… (inherited from its .rft template)
└─ embedded thumbnail preview shown in Revit's load dialog and file browsers
The reference planes and constraints are what separate a Revit family from an ordinary CAD block. Geometry is locked to reference planes, and dimensional parameters drive the distance between those planes, so changing a single “Width” parameter moves the geometry with it and the whole component reshapes correctly. Types are named presets of parameter values (a door family might have 32-inch and 36-inch types), and parameters are marked instance (varying per placement) or type (shared by all instances of a type). The family’s category comes from the family template (.rft) it was started from, and determines how it behaves in a model, for example whether it hosts in a wall.
RFA versus RVT: load, do not convert
A recurring misconception is that you convert a .rfa into a .rvt. You do not. A family (.rfa) is a single component; a project (.rvt) is the entire building model that contains many placed families. The relationship is loading, not conversion: in Revit you use Insert › Load Family, pick the .rfa, and place instances from the Project Browser, or from inside the Family Editor you click Load Into Project. There is no standalone converter and no meaningful .rfa-to-.rvt operation, because the two are different kinds of object that live at different levels of the model.
Version lock: why a family “won’t open”
Like the project format, an .rfa is bound to the exact Revit version that saved it, recorded in the compound file’s version stream. A newer Revit opens families made by older versions, but an older Revit cannot open a family saved by a newer one, and it reports something like “the file was created in a newer version of the software.” Critically, Revit does not down-save a family to an older release, so there is no menu option to make a 2025 family open in 2022. The only real fixes are to use the same or a newer Revit, or to ask the author to re-save the family from your version. This single behaviour is the most common reason an .rfa refuses to open, and it is a property of the format, not a corruption problem.
Getting a family’s geometry out: FBX, DWG, IFC and STL
To use a family outside Revit, you export its geometry to a neutral format, and this is done from inside Revit (or after placing the family in a project). Exporting to FBX (File › Export › FBX) suits rendering, games and 3D applications. Exporting to DWG/DXF hands the shape to a CAD-only collaborator, but the result is geometry only: the parametric BIM intelligence does not survive. IFC, the open buildingSMART exchange standard, is the right path for moving BIM data into non-Revit BIM tools, though families are usually exchanged as IFC at the project level rather than one family at a time. For 3D printing, the free Autodesk STL Exporter for Revit add-in writes the solid geometry to STL; a purely 2D or annotation family has no solid to print. Note that the free web-based Autodesk Viewer only views a family; it does not export editable geometry.
Family provenance: a real supply-chain risk
Downloaded Revit families are a documented malware vector, which makes provenance a genuine technical concern rather than generic caution. Because Revit content can carry automation and can be paired with payloads that ride along with shared parameters or accompanying files, real-world campaigns have spread malware through infected families and projects (for example DLL-injection and self-propagating “family virus” incidents circulated via downloaded content). The practical defences are specific: load .rfa families only from sources you trust (manufacturer sites, Autodesk’s library, reputable BIM portals such as BIMobject), keep Revit patched, and scan downloaded content. When you only need to inspect an untrusted family, the browser-based Autodesk Viewer renders it without executing anything, which is the safe way to look before loading it into a live project.
Frequently asked questions
How do I open an RFA file without Revit?
Upload it to the free Autodesk Viewer (viewer.autodesk.com) in a browser to view, rotate and measure it. You cannot edit or place a family without Revit, but viewing is free and works on any operating system, including macOS, where Revit has no native app.
Why won’t my RFA file open in Revit?
Almost always a version mismatch: it was saved in a newer Revit than yours, and Revit can neither open newer families nor down-save them. Use the same or a newer Revit, or ask the author to re-save the family in your version.
How do I load an RFA family into my project?
In Revit go to the Insert tab, choose Load Family, select the .rfa, then place it from the Project Browser. From inside the Family Editor you can instead click Load Into Project.
References
- Autodesk — Revit (product overview)
- Autodesk Viewer — free online RFA/BIM viewer
- Wikipedia — Autodesk Revit
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.