Export Navisworks to IFC — online, or with the free plug-in
There are two ways to turn a Navisworks model into IFC, and both are free to try. If you only need an IFC out of an NWD, convert it online: upload the file in your browser, with no Navisworks installed and nothing to download, and get back an IFC 4 file that keeps properties, materials and the model hierarchy. If you work inside Navisworks and want to control the export, use the free open-source plug-in for NWD, NWF and NWC.
Online converter or plug-in: which should you use?
| Online converter | Navisworks plug-in | |
|---|---|---|
| Needs Navisworks installed | No | Yes, Manage or Simulate 2024–2027 |
| Needs a Windows PC | No, any device with a browser | Yes |
| Input | An .nwd file | NWD, NWF or NWC, opened in Navisworks |
| Install | None | A per-user Windows installer |
| Control over the result | Switches for properties, materials, hierarchy, hidden items and units | Your own set-to-IFC-class mapping, classification codes, base quantities and saved profiles |
| Where the file is processed | On BIMCamel's servers, queued when busy (paid plans go first) | On your own machine |
| Cost | Free to use, with paid plans for priority and bigger files | Free and open source (MIT) |
- You were sent an NWD and just need an IFC out of it. Use the online converter.
- You don't have Navisworks, or you're on a Mac, a locked-down PC or a tablet. Use the online converter.
- You want to check what's inside an NWD in a viewer in a few minutes. Use the online converter.
- You work in Navisworks every day and want to choose the IFC class of each set. Use the plug-in.
- You need classification codes, base quantities or georeferencing written in. Use the plug-in.
- The model starts as an NWF or NWC and you don't want to save it as an NWD first. Use the plug-in.
How the online converter works
The recommended route for most people: it needs no Navisworks licence, no Windows PC and no install. Open the online converter or read how it works.
- Drop in your NWD — Upload the .nwd in your browser. Nothing to install, and Navisworks does not have to be on your machine.
- Pick what to keep — Properties, materials, hierarchy, hidden items and units are switches in the settings panel. The defaults suit most models.
- Get your IFC — Download the IFC 4 file, or let it open in the viewer straight away. Save it to your workspace to run the other tools on it.
What it keeps
- Properties — The data on each Navisworks item is written as IFC property sets, so you can still filter, schedule and check the model.
- Materials — Colours, transparency and materials come across as IFC materials and styles, so the model looks like the NWD.
- Hierarchy — The selection tree becomes the IFC spatial structure and element grouping, not one flat list of shapes.
What to expect
- An NWD is a published snapshot, so geometry is written as meshes rather than the editable extrusions of the source model.
- Element classes are inferred from the information in the file; an item with nothing to identify it becomes a generic building element proxy.
- In very large models a small share of meshes (around 1%) can fail to decode. They are left out and the result says so.
The free Navisworks plug-in
A free, open-source Autodesk Navisworks plug-in that converts NWD, NWF and NWC models to IFC 4 or IFC 2x3. It maps your Navisworks sets to real IFC classes, carries property sets, classifications and base quantities across, keeps the file small with genuine IFC geometry instancing, and tells you what would happen before you export. MIT-licensed, runs inside Navisworks Manage or Simulate 2024–2027, no licence key, no telemetry.
Navisworks has no native IFC export. If a federated NWD or NWF arrives from a coordinator and the source authoring files do not, the usual options are to ask for a re-publish, pay an enterprise vendor four figures for a converter, or rebuild the federation by hand. The plug-in turns a Navisworks delivery into standards-compliant IFC without going back upstream, so it can go into any IFC pipeline, viewer, validator or takeoff tool.
What's new in v0.12.0
- Correct geometry on instanced models — Each element now writes only its own fragments. Before, an instanced node wrote every copy's geometry: Autodesk's ice stadium sample drops from 709 MB to 27 MB. Elements built from many small parts are merged into one shape that identical elements share.
- Properties from the parent object — Revit keeps its Element tab one node above the geometry, and SmartPlant 3D and E3D keep theirs higher still. Read properties from adds them to each element, so that data no longer goes missing.
- Automatic classification by rule — Elements no rule covers are classified from the IFC class they already state, their Revit category, or whole words in their names, instead of all becoming proxies. Fixed rules, fully offline, and each element records the rule that decided.
- Rules by property value — Category equals Walls → IfcWall: pick a class or classification code straight from a property, with no search set needed.
- A reworked panel — A slimmer header and tabs, and an Export tab that runs in order from scope to export. Build the file name from tokens such as model, set, schema and date. Settings are remembered between sessions, with presets. Choose which property becomes each element's IFC Name, search the property sets, and import or export parameter mappings as CSV.
- Cleaner, smaller files, faster scans — Correct escaping of non-ASCII text, no duplicate GlobalIds, a bounding-box check in the report, and property values and colour styles written once and shared. Smart setup's parameter scan is quicker on big models.
What the plug-in does
- Export NWD, NWF and NWC to IFC — Open any Navisworks model — a federated NWF, an archived NWD, or an NWC cache — and export the whole model, the current selection, the active section box, one saved or search set, or a batch of sets, to IFC 4 or IFC 2x3.
- Map Navisworks sets to IFC classes — Assign any saved or search set to one of 60+ IFC classes — IfcWall, IfcSlab, IfcBeam, IfcDoor, IfcWindow, IfcPipeSegment, IfcDuctSegment and the rest — with an optional PredefinedType. Smart setup proposes classes from your set names in one click, so you start from a filled grid, not an empty one. Rules by property value (Category equals Walls → IfcWall) cover the rest without building a search set.
- See the mapping before you export — Preview resolves your rules against the scope before a single byte is written: how many elements map, to which classes, how many will fall back to IfcBuildingElementProxy, and how much of the model actually carries the properties you mapped.
- Classification rules, using the ones you already wrote — A Navisworks search set is already an IF/THEN rule — "Category = Walls AND Name contains External". Save it as a set, give it a Uniclass or OmniClass code in the mapping grid, and every element in it gets an IfcClassificationReference. Works in IFC 4 and IFC 2x3.
- Base quantities for takeoff — Volume, surface area, length, width and height computed from the mesh and written into the standard per-class quantity sets — Qto_WallBaseQuantities, Qto_SlabBaseQuantities and the rest — so a takeoff or estimating tool keying on the buildingSMART names actually finds them.
- Property sets, deduplicated — Navisworks property tabs become IfcPropertySet definitions with typed values. Identical sets and identical values are written once and shared across every element that carries them. Properties can be read from the parent object too, which is where Revit keeps its Element tab. Rename or relocate any property into a standard Pset with a mapping rule, and move those rules in and out of a spreadsheet as CSV.
- Split by size, or fan out by set — Cap the output size and the export rolls into name_001.ifc, name_002.ifc — each a complete, standalone IFC. Or tick several sets and get one IFC per set in a single run: Mechanical, Structural, Architecture, Electrical, each named from its set.
- Geometry instancing that IFC understands — Repeated parts — bolts, fittings, fixtures — are written once as an IfcRepresentationMap and referenced with IfcMappedItem, not copied per element, and identical multi-part elements share one merged shape. Autodesk's ice stadium sample exports as 1.44 million triangles, 21,256 mapped items and 27 MB (IFC 4, Balanced).
- Coordinates you can actually defend — The base point (where the local origin sits) and the survey point (where the model sits on earth) are separate settings. IFC 4 georeferencing carries your EPSG code and survey offset as IfcMapConversion and IfcProjectedCRS. A federation report lists every loaded model's origin, rotation and units before you export, and flags any disagreement.
- Re-exports that diff cleanly — GlobalIds are deterministic for elements and for the spatial tree, property sets, type objects and relationships — so a re-issue is not a wall of false changes. Each export leaves a small manifest beside the IFC and reports NEW, DELETED, MODIFIED and UNCHANGED against the previous one.
- Validated before you send it — Every export is checked on the way out: STEP envelope, dangling references, duplicate or malformed GlobalIds, empty mandatory aggregates, malformed enumeration values. The report also checks every element against Navisworks' own bounding box. On by default, because a file that fails to open at the other end costs more than the second it takes to check.
- Free, open source, no telemetry — MIT-licensed. The ribbon UI, the exporter core and the IFC writer are all public on GitHub. No paid tier, no licence server, no per-seat fee, nothing phoning home. Read it, fork it, ship a PR.
What actually lands in the IFC
Evaluating an exporter means asking which entities it writes, not which adjectives it uses. Here is the inventory.
Geometry
IfcTriangulatedFaceSet (IFC 4) · IfcFaceBasedSurfaceModel (IFC 2x3) · IfcRepresentationMap · IfcMappedItem
Tessellated meshes, with repeated geometry written once and instanced. IFC 2x3 uses a surface model rather than IfcFacetedBrep because Navisworks meshes are frequently open or non-manifold.
Spatial structure
IfcProject · IfcSite · IfcBuilding · IfcBuildingStorey · IfcRelAggregates · IfcRelContainedInSpatialStructure
Storeys are created from a property you nominate as the Level, and their elevations are read from the Navisworks grid levels so they sit at their real heights rather than stacked at zero.
Objects and types
60+ IFC classes · IfcBuildingElementProxy fallback · Ifc*Type + IfcRelDefinesByType (IFC 4)
Driven by the set-to-class mapping and rules by property value. Elements no rule covers are auto-classified from the IFC class they already state, their Revit category or the words in their names. Whatever is left becomes a proxy — and the report tells you how many, which is the number that decides whether an IFC is usable downstream.
Properties and quantities
IfcPropertySet · IfcElementQuantity · IfcQuantityVolume / Area / Length · IfcRelDefinesByProperties
Property sets are deduplicated by content. Quantities go into the standard per-class Qto_*BaseQuantities sets.
Materials and classification
IfcMaterial · IfcRelAssociatesMaterial · IfcSurfaceStyle · IfcClassification · IfcClassificationReference · IfcRelAssociatesClassification
Material names come from a property you nominate; surface colour comes from the Navisworks appearance. Classification codes come from a set rule or a source property, under a classification system you name.
Grouping and georeferencing
IfcGroup / IfcSystem / IfcZone · IfcRelAssignsToGroup · IfcMapConversion · IfcProjectedCRS (IFC 4)
Navisworks sets can be exported as groups, systems or zones with their membership intact.
What it cannot do — and why no exporter can
Navisworks is a coordination format. It receives tessellated geometry and a property table; everything else was resolved before the NWC was written. These limits are honest constraints of the input, not a roadmap:
- No material layers with thicknesses — A wall's compound structure — brick 100, insulation 80, plaster 15 — does not survive the NWC export. Navisworks receives the geometry and a property table, not the layer definitions, so IfcMaterialLayerSet cannot be reconstructed without inventing it.
- No openings, voids or door/window hosting — Walls arrive with the hole already cut. There is no opening element and no host relationship anywhere in the data, so IfcOpeningElement, IfcRelVoidsElement and IfcRelFillsElement have nothing to be built from.
- No rooms or spaces — IfcSpace is not written. Room geometry only reaches Navisworks if the original NWC export was configured to include it, and even then it arrives as ordinary geometry rather than as a space.
- No element-to-element connections — IfcRelConnectsElements needs topology. A tessellated mesh does not carry which beam frames into which column.
- Detail is whatever the NWC already holds — The Navisworks geometry API takes no quality argument — tessellation was decided when the NWC was created. The quality setting controls vertex welding and stored precision, which is real, but no exporter can add detail that was never published.
How to install and export
- Download the installer — Download installer fetches BIMCamelSetup.exe from the latest GitHub release, and the button states which version that is. Choose Download from GitHub instead if you want an older build, the release notes, or the checksums first.
- Close Navisworks and run it — The installer registers the plug-in for every Navisworks Manage and Simulate version on the machine (2024–2027). It installs per user, so there is no admin prompt, and it upgrades or removes any previous install for you.
- Re-open Navisworks and set up the export — A BIMCamel ribbon tab appears. Pick a scope — whole model, current selection, active section box, one set, or a batch of sets — choose IFC 4 or IFC 2x3, and map your sets to IFC classes. Smart setup scans the model and fills in the property sets, the semantic roles and the mapping grid in one click; the pre-flight checks and Preview then tell you what would happen before anything is written.
- Export, then check the report — The report states how many elements mapped, how many became proxies, what was skipped and why, plus timings and the validation result. Anything that did not reach the IFC is named rather than silently dropped.
- Open it anywhere — The .ifc opens in BIMCamel's browser viewer or any IFC-capable tool. Re-export next revision and the plug-in reports what changed against the last one.
After the export
The IFC drops straight into the rest of BIMCamel, all of it free and browser-based: open it in the IFC viewer, validate it against IDS or the schema, compare two revisions, or convert it to glTF, OBJ or COBie. Pair the exporter with CamelGraph, the visual-programming add-in for Navisworks, or see every BIMCamel plug-in.
Frequently asked questions
Is this really free?
Yes — free and open source, MIT-licensed on GitHub. There is no paid tier, no licence server, no per-seat fee and no telemetry. If it saves you an afternoon, a star on the repository is the only ask.
Can I convert an NWD to IFC without Navisworks?
Yes. BIMCamel has an online converter: upload the .nwd in your browser and download the IFC. It runs on our servers, so you do not need Navisworks installed or a Windows machine, and it keeps properties, materials and the model hierarchy. The plug-in on this page is for people who work inside Navisworks and want to choose the export themselves.
Should I use the online converter or the plug-in?
If you only need an IFC from an NWD, use the online converter: nothing to install, no Navisworks needed, and properties, materials and hierarchy are kept. Use the plug-in if you work inside Navisworks and want to choose the IFC class of each set, write classification codes or base quantities, or start from an NWF or NWC. Both are free to try, and both produce IFC you can open in the same BIMCamel viewer.
Which Navisworks versions are supported?
Navisworks Manage and Navisworks Simulate, 2024–2027. The installer registers the plug-in for every version it finds on the machine, so you do not need to install once per version.
What about Navisworks Freedom?
Navisworks Freedom does not load third-party plug-ins, so you need Manage or Simulate to run the exporter. If Freedom is all you have, or you have no Navisworks at all, use the online converter instead: it turns an NWD into an IFC in your browser with nothing to install.
Does it work on Mac or Linux?
The plug-in is a Windows-only Navisworks .dll, because Navisworks itself is Windows-only. Once the IFC exists, every browser-based BIMCamel tool works on any operating system.
Which IFC versions does it write?
IFC 4 and IFC 2x3. IFC 4 uses IfcTriangulatedFaceSet geometry and carries type objects, classification and georeferencing; IFC 2x3 uses IfcFaceBasedSurfaceModel and remains the safest choice for older CDEs and viewers.
Can I convert NWD to IFC without the original Revit or authoring files?
Yes — that is the case this plug-in exists for. It reads whatever the Navisworks model contains, so a federated NWD or NWF you received from a coordinator becomes IFC without going back upstream for a re-publish.
Why is my exported IFC full of IfcBuildingElementProxy?
Because nothing told the exporter what those elements are. Since v0.12.0 the plug-in auto-classifies elements no rule covers, from the IFC class an IFC-sourced model already states, then the Revit category, then whole words in family, type and element names. It is deliberately cautious, so ambiguous elements still fall back to IfcBuildingElementProxy. Map your Navisworks sets to IFC classes, add rules by property value, or run Smart setup, which proposes classes from your set names. The export report tells you exactly how many elements are still proxies.
How do I map Navisworks objects to specific IFC classes?
Mapping is driven by Navisworks saved and search sets. Build a set in Navisworks, then assign it to an IFC class in the plug-in's Mapping tab, with an optional PredefinedType. Over 60 classes are available, from IfcWall and IfcSlab to IfcPipeSegment and IfcAirTerminal, and the mapping saves as a reusable profile. Rules by property value, such as Category equals Walls → IfcWall, map elements without a set.
Can I assign Uniclass or OmniClass codes during export?
Yes, two ways. Nominate a property that already holds the code and it is written as an IfcClassificationReference, or type a code directly against a set in the Mapping tab — which turns any Navisworks search set into a classification rule, since a search set is already an IF/THEN condition. You can also name the classification system, so codes are not filed under an anonymous source.
Does it export quantities for takeoff?
Yes. Volume, surface area, length, width and height are computed from the mesh and written as IfcElementQuantity into the standard per-class quantity sets — Qto_WallBaseQuantities, Qto_SlabBaseQuantities and so on — so a takeoff tool keying on the buildingSMART names finds them. They are bounding-box and mesh derived, so treat them as measured geometry rather than as parametric dimensions from the authoring model.
Does it preserve property sets?
Yes. Navisworks property tabs become IfcPropertySet definitions with typed values, and identical property sets are written once and shared, which keeps files far smaller. You can also rename or relocate any property into a standard Pset with a mapping rule.
Can I split a huge federation into smaller IFC files?
Yes. Set a size cap and the export rolls into name_001.ifc, name_002.ifc and so on. Each part is a complete, standalone IFC with its own header and spatial structure, and all parts share one origin so they overlay correctly when loaded together.
Can I export one IFC per discipline in a single run?
Yes. Tick several sets in the batch scope and the plug-in writes one IFC per set in a single run — Mechanical, Structural, Architecture, Electrical — each file named from its set.
Will the coordinates be right?
The base point and the survey point are separate settings, which is the distinction most exports get wrong. The base point only decides how large the stored coordinates are; the survey point, with your EPSG code, is what IFC 4 georeferencing records as IfcMapConversion and IfcProjectedCRS. Before exporting a federation you can list every loaded model's origin, rotation and units, and the plug-in flags any disagreement.
Can I compare two revisions of the same export?
Yes. GlobalIds are deterministic — for elements and for the spatial tree, property sets, type objects and relationships — so a re-export is not a wall of false changes. Each export writes a small manifest beside the IFC and reports NEW, DELETED, MODIFIED and UNCHANGED against the previous one.
How big a model can it handle?
The engine streams one element at a time and never holds the whole model in memory, so peak usage stays at a few hundred megabytes regardless of model size. Models of hundreds of millions of triangles export without the out-of-memory failures that affect naive converters.
Does it export rooms, spaces or material layers?
No, and no exporter can from this input. Navisworks receives tessellated geometry and a property table — a wall's brick/insulation/plaster build-up and a room's boundary are not in the file by the time any plug-in sees it. Doors and windows also arrive with their openings already cut, so opening and hosting relationships cannot be reconstructed either.
Why not just export IFC from the authoring tool?
If you have the native file and a licence, you should — the authoring tool knows things Navisworks was never given. This plug-in solves the downstream case: a federated NWD or NWF arrives, the source files do not, and the delivery still has to become IFC.
Where can I download it?
From the GitHub release linked on this page — the direct installer, or the full release history if you need a specific build. It is open source, so you can also build it from the repository yourself.
Who built this and why?
A BIM coordinator who exports Navisworks federations to IFC every week and got tired of the manual workarounds. Solo project, open source, MIT-licensed — nobody should have to pay a vendor to move data they already own.
How do I report a bug or request a feature?
Open an issue on the GitHub repository. Bugs are triaged within a few days and most fixes ship in the next release. Pull requests are welcome — the codebase is small and heavily commented.