Skip To Content



Lists the fields in a feature class, shapefile, or table in a specified dataset. The returned list can be limited with search criteria for name and field type and will contain field objects.


ListFields (dataset, {wild_card}, {field_type})
ParameterExplanationData Type

The specified feature class or table whose fields will be returned.


The wild_card limits the results returned. If no wild_card is specified, all values are returned.

(The default value is None)


The specified field type to be returned. Valid field types are:

  • All All field types are returned. This is the default.
  • BLOBOnly field types of BLOB are returned.
  • DateOnly field types of Date are returned.
  • DoubleOnly field types of Double are returned.
  • GeometryOnly field types of Geometry are returned.
  • GlobalIDOnly field types of GlobalID are returned.
  • GUIDOnly field types of GUID are returned.
  • IntegerOnly field types of Integer are returned.
  • OIDOnly field types of OID are returned.
  • RasterOnly field types of Raster are returned.
  • SingleOnly field types of Single are returned.
  • SmallIntegerOnly field types of SmallInteger are returned.
  • StringOnly field types of String are returned.

(The default value is All)

Return Value
Data TypeExplanation

A list containing Field objects is returned.

Code sample

ListFields example

List field properties.

import arcpy

# For each field in the Hospitals feature class, print
#  the field name, type, and length.
fields = arcpy.ListFields("c:/data/municipal.gdb/hospitals")

for field in fields:
    print("{0} is a type of {1} with a length of {2}"
          .format(, field.type, field.length))
ListFields example 2

Generate a list of field names.

import arcpy

featureclass = "c:/data/municipal.gdb/hospitals"
field_names = [ for f in arcpy.ListFields(featureclass)]

Related topics