Skip To Content

Graphic Buffer


Creates buffer polygons around input features to a specified distance. A number of cartographic shapes are available for buffer ends (caps) and corners (joins) when the buffer is generated around the feature.


Buffer illustration



    The output of this tool is intended for cartographic display only. It is not intended for use in further analysis. Doing so will result in incorrect results.

  • The input features can be point, line or polygon. The options available for the buffer output ends (caps) and corners (joins) will depend on the input feature type.

    • Caps Type - Points and lines only.
    • Join Type - Polygons and lines only.
  • The output feature class will have a BUFF_DIST field that contains the buffer distance used to buffer each feature in the linear unit of the input features' coordinate system.

    If a field named BUFF_DIST exists in the input, its values will be overwritten in the output.

  • The output buffer features will always be Euclidean. Geodesic buffer features are not supported. See Learn More About How Buffer Works for an understanding of the difference between Euclidean and Geodesic buffers.

  • The output feature class will include an ORIG_FID field that contains the feature ID of the input feature for which the buffer was created. If a field named ORIG_FID exists in the input, its values will be overwritten in the output.

  • When buffering polygon features, negative buffer distances can be used to create buffers inside the polygon features. Using a negative buffer distance will reduce the polygons' boundaries by the distance specified.


    If the negative buffer distance is large enough to collapse the polygon to nothing, a null geometry will be generated. A warning message will be given, and any null geometry features will not be written to the output feature class.

  • If a field from the Input Features is used to obtain buffer distances, the field's values can be either a number (5) or a number with a valid linear unit (5 Kilometers). If a field value is a number, it is assumed that the distance is in the linear unit of the Input Features' spatial reference (unless the Input Features are in a geographic coordinate system, in which case, the value is assumed to be in meters). If the linear unit specified in the field values is invalid or not recognized, the linear unit of the input features' spatial reference will be used by default.

    Using a buffer field for buffer distances
  • This tool will run using parallel processing by default when it detects it is running in a 64-bit application (Background processing 64 bit, ArcGIS Server, and ArcGIS Pro).

    This tool honors the Parallel Processing Factor environment. If the environment is not set (the default) or is set to 100, full parallel processing will be enabled and the tool will attempt to distribute the work to all the logical cores on the machine. Setting the environment to 0 will disable parallel processing. Specifying a factor between 1 and 99 will cause the tool to determine the percentage of logical cores to use by applying the formula ( Parallel Processing Factor / 100 * Logical Cores) rounded up to the nearest integer. If the result of this formula is 0 or 1 parallel processing will not be enabled.


GraphicBuffer_analysis (in_features, out_feature_class, buffer_distance_or_field, {line_caps}, {line_joins}, {miter_limit}, {max_deviation})
ParameterExplanationData Type

The input point, line, or polygon features to be buffered.

Feature Layer

The feature class containing the output buffers.

Feature Class

The distance around the input features that will be buffered. Distances can be provided as either a value representing a linear distance or as a field from the input features that contains the distance to buffer each feature.

If linear units are not specified or are entered as Unknown, the linear unit of the input features' spatial reference is used.

When specifying a distance, if the desired linear unit has two words, such as Decimal Degrees, combine the two words into one (for example, 20 DecimalDegrees).

Linear Unit; Field

The caps (ends) of the input features that will be buffered. This parameter is only supported for point and polygon features.

  • SQUAREA square end around the end of a segment. This is the default.
  • BUTTEnd of the buffer of a segment would be perpendicular to the segment.
  • ROUNDEnd of the buffer is round around the end of the segment.

The shape of the buffer at corners where two segments join. This parameter is only supported for line and polygon features.

  • MITERSquare or sharp shape around corners. For example, a square input polygon feature will have a square buffer feature. This is the default.
  • BEVELInner corners will be squared while the outer corner will be chopped off perpendicular to the furthest point of the corner.
  • ROUNDInner corners will be squared while the outer corner will be round.

Where line segments meet at a sharp angle and a line_joins of MITER has been specified, this parameter can be used to control how sharp corners in buffer output come to a point. In some cases, the outer angle where two lines join is quite large when using the MITER line_joins. This could cause the point of the corner to extend further than you want.


The maximum distance the output buffer polygon boundary will deviate from the true ideal buffer boundary. The true buffer boundary is a curve and the output polygon boundary is a densified polyline. With this parameter you can control how well the output polygon boundary approximates the true buffer boundary.

If the parameter is not set, or is set to 0, the tool will determine the maximum deviation for you. The default is strongly recommended. Severe performance degradation, in the tool itself or in subsequent analysis, could result from using a maximum offset deviation that is too small.

See the max_deviation parameter information contained in the Densify tool documentation for more details.

Linear unit

Code sample

GraphicBuffer example 1 (Python window)

The following Python window script demonstrates how to use the GraphicBuffer tool.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GraphicBuffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet", "SQUARE", "MITER")

Licensing information

  • ArcGIS Desktop Basic: Yes
  • ArcGIS Desktop Standard: Yes
  • ArcGIS Desktop Advanced: Yes

Related topics