Revit shared parameters: what they are, how to create them, the .txt file, title blocks and the errors that keep coming back
What Revit shared parameters are, how they differ from family and project parameters, how to create them and use them in schedules, tags and title blocks.
Revit · Parameters
Almost everything you automate in Revit runs through a shared parameter. So does almost every mess.
What they are, how they differ from family and project parameters, how to create and load them, how to use them in schedules, tags and title blocks, and why one duplicate parameter can break an entire project.
Why it matters so much
A quantity schedule that counts the same thing twice, a tag showing a question mark, a title block that won't read the engineer's license number: behind many of these problems is a badly defined parameter. And when a firm wants to automate, plugins read and write exactly those parameters. Getting them in order is step one.
From one file to every project
.txt file
One GUID per parameter
Families
The same parameter in each
Projects
Bound to its categories
Schedules, tags, title blocks
All read the same data
Revit shared parameters, in 7 steps
The three kinds of parameters, the .txt file, how to create and load them, using them in schedules, tags and title blocks, errors, best practices and what to automate.
- 01Concept
Three kinds
Family, project and shared parameters
- 02File
The .txt file
GUIDs, groups and one source for the firm
- 03Step by step
Create and load
In the file, the project and the family
- 04Use
Schedules, tags, title blocks
Where they're used and how
- 05Errors
Most-searched errors
Not showing, question marks, duplicates
- 06Standards
Best practices
An owner, templates and audits
- 07Action
What to automate
Bulk loading, duplicates and Excel
| Kind | Where it's defined | Schedules | Tags |
|---|---|---|---|
| Family | Inside the family | No | No |
| Project | In the project, by category | Yes | No |
| Shared | In an external .txt file, with a GUID | Yes | Yes |
The real difference is the GUID. Revit recognizes a shared parameter by its GUID, not its name. That's why the same parameter can live in a hundred families and ten projects and Revit knows it's the same data. A family parameter, by contrast, exists only inside that family.
When to use each:
- Family: to drive internal geometry, such as a width or angle nobody will schedule.
- Project: for data that's only scheduled or filtered in that one project.
- Shared: for anything that gets tagged, scheduled across projects, shown in a title block or read by a plugin.
Shared parameters live in a text file that stores each one's name, GUID, data type and group. The file's own header warns against editing it by hand.
Shared parameter file location: any folder. Each user picks the file under Manage › Shared Parameters, and Revit remembers that path on their machine.
What few people know: once a shared parameter is in a project or a family, its definition is stored there. The file is only needed to add new parameters. If the file is lost, projects keep working, and a parameter can be recovered by exporting it from a family that has it, with the same GUID. What you must never do is create it again with the same name.
Rules for an organized firm:
- One master file, in a network folder that's read-only for everyone except its owner.
- Groups by purpose, such as Sheets, Structural or Quantities.
- Names with a firm prefix, so they're never confused with manufacturer or client parameters.
- Never delete and recreate a parameter: the new one would have a different GUID.
Create it in the file:
- Manage › Shared Parameters.
- Browse to the file or create a new one.
- Create a group, or pick an existing one.
- Create the parameter: name, data type, such as text, number, length or yes/no, and a tooltip explaining what it's for.
Add it to the project:
- Manage › Project Parameters › Add.
- Choose Shared parameter and select it from the file.
- Decide whether it's instance or type, which Properties group it appears under, and which categories it applies to.
Add it to a family: in the Family Editor, Family Types › New Parameter › Shared parameter. If the family and project use the same shared parameter, Revit treats them as one when the family loads.
- Schedules. A shared parameter shows up in the field list of schedules for its categories, and can be edited from the schedule. If you need to fill it from Excel, we cover it in exporting Revit schedules to Excel and back.
- Tags. In the tag family, the label is built from the same shared parameter. The tag then reads the value from any element that has it.
- Title blocks. To show firm-specific data in the title block, such as the engineer's license number or the discipline, create a shared parameter, add it to the project on the Sheets category and use it in the title block label. We cover it in Revit revisions and signatures on multiple sheets.
- Shared parameter not showing in the schedule. It's a family parameter, not a shared one; or it isn't bound to that schedule's category.
- The tag shows nothing. The element doesn't have the parameter: its family doesn't include it, or the project parameter isn't bound to its category.
- The tag shows a question mark. The parameter exists but is empty on that element.
- Two parameters with the same name. Someone created another one with the same name in a different file: it has a different GUID and Revit treats them as different data. The schedule reads one, the tag reads the other, and the values don't match.
- I can't find the parameter when loading it. Revit is pointing to a different shared parameter file; check the path under Manage › Shared Parameters.
- Instance and type mixed up. If the value should change per element but was created as a type parameter, changing it changes every element of that type.
- One owner for the master file, and a log of every new parameter: what it's for, who asked for it, which categories it goes on.
- Templates with the parameters preloaded, so every project starts the same way.
- Families reviewed before they enter the library: they should use the master file's parameters, not copies.
- Regular audits of projects to find duplicate or orphaned parameters. It's part of what a BIM audit checks.
- Loading the firm's parameters in bulk into many projects and families at once, with their categories and groups.
- Finding duplicates: the same name with a different GUID, across every model in a project.
- Filling values from Excel and writing them back, without touching each element.
- Checking families before they enter the library.
The core, with the Revit API, is short:
// Add a text shared parameter to the Sheets category
DefinitionFile file = app.OpenSharedParameterFile();
DefinitionGroup group = file.Groups.get_Item("Sheets") ?? file.Groups.Create("Sheets");
Definition def = group.Definitions.get_Item("FIRM_LicenseNumber")
?? group.Definitions.Create(new ExternalDefinitionCreationOptions("FIRM_LicenseNumber", SpecTypeId.String.Text));
CategorySet categories = app.Create.NewCategorySet();
categories.Insert(doc.Settings.Categories.get_Item(BuiltInCategory.OST_Sheets));
using (var t = new Transaction(doc, "Shared parameter"))
{
t.Start();
doc.ParameterBindings.Insert(def, app.Create.NewInstanceBinding(categories), GroupTypeId.IdentityData);
t.Commit();
}
If you want the Autodesk APIs from the ground up, start with Revit and Civil 3D add-in development.
Related resources
- Filling parameters from Excel: exporting Revit schedules to Excel and back.
- Title blocks: Revit revisions and signatures on multiple sheets.
- Other tasks worth automating: the 12 Revit tasks that save the most time.
- Standardizing the firm: standardizing BIM processes in your company.
Frequently asked questions about Revit shared parameters
It's a parameter defined in an external text file, with a unique identifier called a GUID, that can be used across many families and projects. It's the only kind that can be used in both schedules and tags.
Technical note: features and API match Revit 2026. Check your release's help if any of them change.
Keep reading on this topic
Revit and Civil 3D Add-in Development: The Complete Guide (2026)
The complete guide to Revit and Civil 3D add-in development: what add-ins are, what to automate, C# and the Autodesk API, deployment and cost.
How to Build a Civil 3D Plugin with Claude Code Without Being a Programmer: End-to-End 2026 Guide
How to build a Civil 3D plugin with Claude Code without coding experience: architecture, prompts that work, and how to compile and deploy it.
Dynamo vs C# in Civil 3D and Revit: when to use each + automations that save hours
Dynamo or C# for automating Civil 3D and Revit: the real differences, when each one is worth it, and automations that save hours, with examples.
How much does a Revit or Civil 3D add-in cost? 2026 pricing and timeline guide
How much a Revit or Civil 3D add-in costs to build: what drives price and timeline, and how to calculate whether it pays for itself in hours saved.