Is it possible to export my bookmarks as a layer (point / polygon) in ArcGIS Pro?

08-20-2018 11:57 PM
New Contributor

Is it possible to export my bookmarks as a layer (point / polygon) in ArcGIS Pro?

0 Kudos
10 Replies
MVP Emeritus

Bookmarks in arcpy

Bookmark—ArcPy | ArcGIS Desktop 

As for ideas that exist, 

Check ArcGIS Ideas‌ for other links

Occasional Contributor

Had the same problem and blugeoned a work-a-round out of my PC using Excel to get points for each bookmark - which were then used as an index for a map series. Basically you can export the bookmarks to a BKMX file, drag that into Excel (Excel recognises the rows as a bkmx is just xml I think), use text-to-columns, a filter, an INDIRECT formula, and some helper columns to transpose into a simple table with 'name' 'x' and 'y' columns.  Then bring that back into Pro as XY point data.

Ugly, but it worked 🙂

0 Kudos
Esri Regular Contributor

Hi John, 

With Pro 2.6 you can use can use the bookmarks directly to create a map series - Introduction to a bookmark map series—ArcGIS Pro | Documentation . If you're map series doesn't need data to drive dynamic text or set page queries for other layers in the map, Bookmark Map Series may be an option for you.

Hope this helps, 


by Anonymous User
Not applicable

Hi @SvenBiesdorf1

I had this same question, and didn't find an answer I really liked, so I decided to make a toolbox. 

It works very similarly to the solution posted by @JohnWatt  here in the comments, but makes it a little more user friendly. Just export a .bkmx, specify the output folder, name, and coordinate system, and it creates a feature class for your bookmarks. @TomBole mentioned that you can use Bookmarks as the input for your map series which is true, but it is convenient to be able to set your extents as bookmarks and then also have an option for dynamic text fields.  

I have made the toolbox and python script available here:

New Contributor II

I know this is an oldish post but just wanted to send some praise this direction as this is a great little tool, thank you!!  It also gets around the issue of not being able to use Python to automate export of multiple PNGs from a Map Series as I can just convert these to shapefiles instead :). Nice!!!

0 Kudos
New Contributor

Howdy Anonymous,

I took your general idea and simplified it a bit



# ----------------------------------------------------------------------------
# Import modules
import arcpy, os

# ----------------------------------------------------------------------------
# Get Parameters and create blank feature
layoutName = arcpy.GetParameterAsText(0) # Layout - name of target layout
mapFrame = arcpy.GetParameterAsText (1) # String - name of target map frame
output_dir = arcpy.GetParameterAsText(2) # Folder
output_name = arcpy.GetParameterAsText(3) # String - "include .shp"
coordsys = arcpy.GetParameterAsText(4) # Coord System of Dataframe, or something else if bookmarks are from another source. 

aprx ="CURRENT")
lyt = aprx.listLayouts(layoutName)[0]
mf = lyt.listElements("MAPFRAME_ELEMENT", mapFrame)[0]
FC =,output_name,'POLYGON',"","DISABLED","DISABLED",coordsys), "NAME", "TEXT" )

for m in aprx.listMaps():
    for bkmks in m.listBookmarks():
        extent =
        polygon = extent.polygon
        name =
        row_values = [(name, polygon)]
        icur = arcpy.da.InsertCursor(FC, ["NAME", 'SHAPE@'])
        for row in row_values:
        del icur
        arcpy.AddMessage("Created polygon for bookmark " + name)

map = aprx.listMaps()[0]
map.addDataFromPath(output_dir + "\\" + output_name)
arcpy.AddMessage(output_name + " added to map")






Tags (3)
New Contributor

Good morning @bcaldwell :

I was able to take the toolbox that the previous Anonymous User provided and create the working script from the Python Snippet they provided.  I haven't been able to take the snippet that you provided and get it functional.  I'm fairly new to Python and I'm still learning much of the basics and fundamentals, but when I run the script it states that Line 16 IndexError: list index out of range. I'm sure that I'm doing something wrong but would greatly love to use your provided tool.  Thank you for any help provided.

0 Kudos
New Contributor

@MichaelBelnap  I was able to run it with two test bookmarks, using your Pro Toolbox



I haven't used this in a long time, but I did make an edit to the toolbox/script to not need the map frame, see uploaded abtx. 


Hope this helps



New Contributor

This worked great, thank you!

0 Kudos