To renumber sheets in Revit in bulk without hitting “sheet number already in use”, the edits have to happen in an order Revit accepts, or the sheets have to be parked on temporary numbers first. Revit treats Sheet Number as a unique identifier, so shifting A-101…A-110 to A-102…A-111, or swapping two sheets, fails on the first edit if you type the final numbers straight in. This guide explains the rule, then goes through each way to rename or renumber sheets in bulk, with its limits: manual rename, the sheet list schedule, an Excel round trip, Dynamo and pyRevit, dedicated add-ins, and Metasheet. Every statement about another tool comes from a page I opened in November 2026; where a page was silent, the text says so.
Disclosure: I make Metasheet, one of the methods below. It gets the same fields as every other tool, limits included.
Revit renumber sheets: why “sheet number already in use” appears
Autodesk’s sheet instance properties page describes Sheet Number as “a unique identifier for the sheet in the construction document set”. The Add a Sheet page says the same value can be used once for all sheets directly in the model, and once per Sheet Collection, and that “if the number is already in use, a warning dialog appears”. The Revit API enforces the same rule: the SheetNumber setter throws an ArgumentException with the message “Sheet number is already in use.”, and also rejects an empty value and the characters braces, brackets, pipe, semicolon, angle brackets, question mark, backtick and tilde.
What that means for bulk work:
- Shifting a range fails at the first edit. Renaming A-101 to A-102 collides with the sheet that still holds A-102.
- A swap fails at the first edit too. Whichever sheet you change first lands on the other one’s number.
- Sheet Name is different. The properties page makes no uniqueness statement for it, so renaming names in bulk does not trigger this error.
- A number that looks free can still be refused. A sheet list can include placeholder sheets (Autodesk), and Ideate notes that its Sheets link hides them by default (Ideate help). Check the sheet list for placeholder rows, and remember the rule applies per Sheet Collection as well.
Every method below does one of two things: orders the edits so each target number is free when its turn comes, or moves the affected sheets to temporary numbers and then to the final ones.
Method 1: rename by hand, in the right order
Autodesk’s steps (2018 help page): in the Project Browser, under Sheets (all), right-click the sheet and click Rename, or select it and press F2. In the Sheet Name dialog enter the new number and name. Autodesk adds that changes to the sheet number and name “are propagated throughout the project”, so references to the sheet stay correct.
The order is what avoids the error:
- Shift A-101…A-110 up by one: start at the end. Rename A-110 to A-111, then A-109 to A-110, and so on down to A-101 to A-102. Each target is free when you reach it, provided A-111 is unused.
- Swap A-101 and A-102: three renames. A-101 to a number nobody uses (A-101-TMP), A-102 to A-101, then A-101-TMP to A-102.
Limit: one dialog per sheet. It is fine for a dozen sheets and slow and error-prone for a few hundred.
Method 2: the Sheet List schedule
A sheet list shows every sheet number and name in one table: View tab, Schedules, Sheet List, then pick the fields (Autodesk). It is the quickest way to see the whole numbering, sort by Sheet Number and spot gaps and placeholder rows before you change anything.
What I could not confirm is bulk editing in it. The Autodesk sheet list pages I opened cover creating, sorting and placeholder rows, and describe entering a number and name only for a placeholder; they do not document typing new Sheet Numbers into the cells of existing sheets, and none mentions find and replace. If you try it, do it on a copy of the project. The schedule would face the same uniqueness rule, since it edits the same Sheet Number property.
Sheet list not in order? Change the order, not the numbers
If the goal is only a different sequence on the sheet list, Autodesk’s approach needs no renumbering (help page): add a project parameter named Sheet Order to the sheet list fields, sort by it in ascending order, type a position number for each sheet, then hide the column (right-click the column, Hide Column(s)). That page is Revit LT 2025 help.
Method 3: Excel round trip with Ideate BIMLink or DiRoots SheetLink
Ideate BIMLink. Ideate documents this exact job (batch rename and renumber help). Start from the pre-configured Sheets link (or a link built from a Sheet List schedule), remove the placeholder filter if you want placeholder sheets, export to Excel, edit the numbers, save and import back. If a new number already exists in the project the import errors, because “Revit doesn’t allow duplicated values for Sheet numbers”. Ideate’s workaround is two imports: first a temporary unused number such as A105-, then the final one. Ideate also shows (pro tips page) an Excel formula that builds new numbers from old ones. The BIMLink page offers a free trial and prints no price or Revit version list.
DiRoots SheetLink. The DiRootsOne page lists SheetLink as Premium only: it exports Revit data to Excel and Google Sheets. The description I saw is generic and does not mention sheet numbers or duplicate handling, so treat it as a general data link and test a swap on a copy. DiRootsOne Premium is printed as €100 per user per year, with a USA price of $120 per user per year through ATG USA, and the page lists Revit 2018 to 2027 (as of November 2026).
Limit: the uniqueness rule is still enforced when the file comes back, so swaps still need the temporary-number step.
Method 4: Dynamo, pyRevit or the Revit API
Scripts write through the same API, so they meet the same rule: the SheetNumber setter throws when the number is taken (see the API page above). A script that swaps or shifts numbers must therefore do two passes itself, temporary values first.
- Dynamo is described as “a visual programming plugin for designers” (Dynamo). The Dynamo example I found reads an Excel workbook and creates sheets with the Sheet.ByNameNumberTitleBlockAndView node (Hagerman tutorial, built on Revit 2020); it creates sheets and does not rename existing ones or discuss duplicates. A renumber graph is something you would build yourself.
- pyRevit merged a change on June 15, 2026 titled “Extend ‘Rename Selected Sheets’ to support true batch renaming modes” (pull request #3389). Its commits mention a conflict exclusion set for sheet rename validation. The page does not list the modes, so check what the tool offers in your pyRevit version before relying on it for swaps.
Limit: you maintain the script, and a mistake runs across every sheet at once.
Method 5: dedicated renumber add-ins
Prices and versions are as printed on each page (as of November 2026). “Not stated” means the page I opened does not say.
| Tool | What the page describes | Price as printed | Revit versions |
|---|---|---|---|
| ModPlus Sheet numerator | Renumbers sheets by group: prefix, suffix, start number, leading zeros; up to three-part numbers; drag sheets to renumber with duplicate-number warning icons | US$7.20 | 2019 to 2027 (version 3.2.16.0, 29.10.2026) |
| IMAGINiT Utilities | Sheet Number Update: start number, increment, excluded sheets, fills gaps left by deleted sheets, preview before apply. The article does not address numbers already in use | Not stated | Not stated |
| Sheet Renumbering (BIM Soft Solutions) | “Designed to renumber the sheets automatically” | $1.99 a month; the listing offers a trial | Not stated |
| Sheet Sorter (SATABIM) | “Automate sheet number sorting in Autodesk Revit” | Free | Not stated |
| DiRootsOne SheetGen | SheetGen docs: batch Rename with prefix, suffix and replace text, and Build Number with a counter, described for placeholder sheets; changes staged until Apply. No mention of swaps or duplicates | Free and Premium tiers (see Method 3) | 2018 to 2027 |
None of these pages states how the tool behaves when you swap two numbers, except ModPlus’s duplicate warning icons, which flag a conflict rather than resolve it. Test a swap on a copy before you trust any of them with a live set.
Method 6: Metasheet, a spreadsheet grid with a built-in two-pass rename
Metasheet is a Revit add-in for Revit 2022 to 2027 that shows a collection of existing Revit elements as a spreadsheet: one row per element, one column per parameter. The Drawing Sheets collection has the columns Sheet Number, Sheet Name, Drawn By, Checked By and Current Revision (read-only), plus any other sheet parameters such as title block fields. You change cells, review them, and press Apply to write them all in one Revit transaction. For how it compares with other Excel-based tools, see our comparison of Revit spreadsheet editors.
Steps
- Open the Drawing Sheets collection from the sidebar.
- Enter the new numbers: type them, paste a column from Excel, use Bulk Edit, or use Import XLSX (export first; rows are matched by Element ID, so a reordered file still lands on the right sheets).
- For pattern changes, open Bulk Edit, choose the Sheet Number or Sheet Name column and use Find/Replace (plain text, or a case-sensitive regular expression) or Prefix/Suffix. Example: Find “A-”, Replace “AR-” on Sheet Number; or remove a word from every Sheet Name.
- Nothing has reached Revit yet; the edits are staged. Press Apply.
What happens on Apply
Metasheet compares every new number with the numbers other staged sheets currently hold. If none collides, it writes the numbers directly. If any does, which is what a swap or a range shift produces, it first renames every affected sheet to a placeholder of the form __METASHEET_TMP_0__, __METASHEET_TMP_1__ and so on, then writes the final numbers. All of it runs inside the single transaction. Two staged rows with the same target number are refused before anything is written, and each failed cell is returned in a failure list; a document-level error rolls the whole Apply back. The same routine handles Sheet Name edits.
Limits to know:
- A target number held by a sheet you did not edit is rejected by Revit, and that cell is reported as failed. After any Apply that reports failures, check the listed sheets in the grid before the next edit.
- The grid mirrors existing sheets. It cannot add or delete sheets; create them with Revit’s own tools.
- It changes numbers and names, not the order of the Project Browser or sheet list.
- Metasheet is free to use, with a limit of 3 applies per UTC day. An apply is a write that changed at least one value; viewing, editing in the grid and exporting to Excel are not counted. It currently asks you to sign in with a free 3dshouse account at the first apply. A renumber of the whole set is one apply.
How to choose
- Up to about a dozen sheets, once: Method 1, with the order described above.
- Only the sheet list sequence is wrong: a Sheet Order parameter, no renumbering.
- Numbers computed in Excel, and you already use a link tool: Ideate BIMLink with the two-import temporary-number step.
- A fixed pattern across many sheets (prefix, start number, increment): a dedicated numbering add-in such as ModPlus or IMAGINiT.
- Swaps, shifts and find-and-replace in one staged edit: a grid tool with automatic temporary numbers, such as Metasheet, or a script you write and test.
Whatever you pick, test on a copy first, then check the sheet list for duplicates, gaps and leftover temporary names.
FAQ
Why does Revit say the sheet number is already in use?
Sheet Number must be unique. Autodesk’s Add a Sheet page says the same value can be used once for all sheets directly in the model, and once per Sheet Collection, and that a warning dialog appears when the number is already in use. If the number looks free, check the sheet list for placeholder sheets.
Can Revit have duplicate sheet numbers?
Not within the same scope. Autodesk’s Add a Sheet page allows a Sheet Number value once for all sheets directly in the model and once per Sheet Collection. The API setter throws an error with the message “Sheet number is already in use.” when you try to set a taken number.
How do I renumber sheets in Revit in bulk?
Revit’s built-in route is one sheet at a time through Rename (F2) in the Project Browser. For many sheets, use an Excel round trip (Ideate BIMLink), a numbering add-in such as ModPlus Sheet numerator, a script, or a grid tool such as Metasheet; the methods above list their limits.
How do I rename multiple sheets in Revit?
Sheet names are not subject to the uniqueness rule, so a bulk rename does not collide. Options include Ideate BIMLink via Excel, DiRootsOne SheetGen, the pyRevit Rename Selected Sheets tool, and Metasheet’s Find/Replace and Prefix/Suffix on the Sheet Name column.
How do I swap two sheet numbers in Revit?
Use a temporary number: change the first sheet to an unused number, give the second sheet the first number, then change the first sheet from its temporary number to the second sheet’s old number. Ideate’s help documents the same idea as two imports. Metasheet does this automatically for the staged sheets on Apply.
What is the Sheet Number parameter in Revit?
Autodesk describes Sheet Number as a unique identifier for the sheet in the construction document set, and Sheet Name as a brief description shown in the Project Browser and sheet lists. Only Sheet Number carries the uniqueness rule on that page.
How do I change a sheet number in Revit?
In the Project Browser, under Sheets (all), right-click the sheet and click Rename, or press F2, then enter the new number and name in the Sheet Name dialog.
Why is my Revit sheet list not in order?
A sheet list sorts by the fields you set on its Sorting/Grouping tab. To control the order without renumbering, Autodesk’s help adds a project parameter named Sheet Order, sorts the list by it in ascending order, and you type a position number for each sheet.
Can I use find and replace on Revit sheet names?
I did not find it in the Autodesk sheet list pages I opened. Add-ins offer it: DiRootsOne SheetGen has a Rename tool with prefix, suffix and replace text, and Metasheet has Find/Replace and Prefix/Suffix on the Sheet Name column.
Free: limited to 3 applies a day
Pro: unlimited, guaranteed to work, priority support
