Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Using ArcGIS 10.0, is it possible to reorder the fields in a file geodatabase, and have the order persisted to the database?

We considered exporting to XML, and writing a parser to change the field order, then re-creating a new database from the XML. This seems like a laborious process.

Another idea is to import the existing field definitionss into Excel, re-order them, export to CSV, then write a Python script to create these fields in a new Geodatabase. Does a script like this exist, before we write it from scratch?

Unfortunately the ArcGIS Diagrammer doesn't seem to support field re-ordering.

Are there any scripts or hacks we could use to simplify this process?


share|improve this question
Hope you have voted at ideas.arcgis.com/ideaView?id=0873000000087wgAAA :-) –  PolyGeo Aug 24 '12 at 8:13
You can reorder fields in ArcGIS Diagrammer, just go into the fields collection and select the field and hit the up/down arrows. –  blah238 Aug 24 '12 at 18:22
@blah238 if you can add that as an answer, I'll accept it. It works very well and is semi-supported by Esri since one of their guys wrote it –  Stephen Lead Sep 18 '12 at 5:21
here is the video demonstration - maps.esri.com/Diagrammer/reorderfields.htm –  Geog Jan 21 '14 at 10:41

5 Answers 5

up vote 4 down vote accepted

As mentioned in the comments you can reorder fields with ArcGIS Diagrammer. I posted a more general step by step in this answer: How to update the length property of a feature class field?

share|improve this answer
Thanks. The ArcGIS Diagrammer is a tiny bit unstable - it doesn't exactly crash, but it feels home-made sometimes. But for modifying the schema, it seems like the best option. –  Stephen Lead Sep 18 '12 at 10:40
Might now work past 10.0. It installed ok for me on Win7 x64 with ArcGIS 10.1, but when run it spews Just In Time compilation errors and quits. –  matt wilkie May 3 '13 at 21:33

The free version of ET Geowizards will do this. Basic -> Sort shapes. I just tested it on a v10 File Geodatabase and it works. It has to create a new feature class though.

share|improve this answer

In answer to another question I said that it is possible to use Summary Statistics to do the equivalent of PULLITEMS (old speak for reorder fields). That technique works well on Tables only but there is another script available now that says it works on both feature classes and table.


I would also recommend the Answer to another Question which was inspired by @klewis' Answer to this one.

share|improve this answer

You need to run MakeTableQuery from the Layers and Table Views toolset to reorder fields. From the documentation, The order of the fields in the field list indicates the order the fields will appear in the output layer or table view. Also, If a Shape column is added to the field list, the result is a layer; otherwise, it is a table view. This is available with any license level.

share|improve this answer
Just wondering if you have tested this because I cannot see a way for the Make Query Table tool to re-order the fields - its tool dialog seems to just let you decide whether fields are to be included or not. –  PolyGeo Aug 27 '12 at 0:12
Yes, I have tested this from a Python script. The tool seems to be designed to combine or join multiple tables. However, I am able to create a new table or feature class with reordered fields by inputing a single feature class. –  klewis Aug 27 '12 at 16:38
I must be missing something so have posted a new question here gis.stackexchange.com/questions/32310/… - can you perhaps detail the steps there for me, please? –  PolyGeo Aug 28 '12 at 5:27
I just answered the new question by using not just MakeQueryTable but also CopyFeatures and some minor editing of code I got using Copy As Python Snippet into the Python window. –  PolyGeo Aug 28 '12 at 21:59

So far the most efficient method I have found to rename fields, change their default order, and a number of other things is to use Microsoft Access:

  1. Create new Personal Geodatabase
  2. Drag and drop the feature class or table into the p-gdb
  3. Open in Access and:
    • Ignoring all tables beginning GDB_, open tables in table design mode
    • rename, change order, add new, etc.
  4. Drag and drop back to your real operational gdb


Always have a current back up. You're messing directly with internal GDB structure and you could easily trash your data by altering the DB to the point ArcGIS doesn't know how to read it any more.

There are some reserved keywords on the ArcGIS side that can't be used for field names. Access will happily create or rename fields with these keywords, but when you bring them back they automatically have an underscore appended. So Current becomes Current_. Also there note the partially overlapping Access reserved keywords.

Personal GDB have a 2GB file size limit, so the total size of all tables and feature classes within the GDB can't exceed that.

It might be tempting to always use personal GDB's for small projects (<2GB). Don't. Performance is abysmal and there are subtle differences in Access' SQL syntax that make Label Expressions, Definition Queries, and so on non-portable.

share|improve this answer
of course, this method is not officially sanctioned, and if something goes wrong you won't be able to call Tech Support ;) –  Stephen Lead Dec 9 '14 at 3:32

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.