Each circle represents a treaty signed by the U.S. Hover over a circle to see more details or click it to visit the treaty document page. To view treaties signed with individual countries, select or type the name of the country in the dropdown menu below. To see bilateral treaties (signed with one other country), type or select Bilateral in the menu. To see treaties signed with multiple countries or international organizations, type or select Multilateral, International Organizations, Other in the menu. To see all treaties type or select All in the menu.

About the Project

International treaties that the U.S. has signed, and which have passed through the advice and consent process of the Senate are an important part of U.S. foreign policy. Hundreds of treaty documents are stored on the congress.gov website, yet it is often difficult to effectively analyze them because each document is a dense block of text and there are few ways to gain a higher level view across time, categories, and other relevant dimensions. The goal of our project is to give researchers, students, and the general public the ability to explore treaties in an interactive and visual way. We hope that our data visualization tool will help users quickly spot trends and find what they are looking for in a much more efficient way than was possible in the past. The treaty explorer allows users to see all of the treaties plotted along a time and a topic axis. They can also filter treaties by country, using the dropdown menu or corresponding autocomplete textbox, which will suggest country matches as a country name is typed. In addition, users can explore bilateral treaties (which the U.S. has signed with one other country) by selecting or typing “bilateral” in the menu, as well as multilateral treaties (signed with at least two other countries) and treaties signed with international organizations by selecting or typing “Multilateral, International Organizations, Other” in the menu. Finally, users can explore individual treaties by hovering the mouse over each treaty circle, which opens a popover with additional information, including a link to the treaty page on congress.gov

To make the treaty explorer, we downloaded data from the online Congressional treaty archive, which includes data for treaties that have passed through the Senate since 1949. We converted this data to the JSON format and processed it using a program we wrote in Python to extract the names of countries with which the U.S. signed treaties. This task was particularly complicated because the congress.gov treaties data does not contain separate fields that indicate with which countries the U.S. signed treaties. A further complication was that the text of the treaties sometimes contained multiple names for the same country, such as official and unofficial names (e.g. Kingdom of the Netherlands and Netherlands) and names of countries that no longer exist. After we processed the data, taking into account country naming peculiarities, we implemented a custom interactive data visualization, a swarm plot, using JavaScript and the D3 JavaScript library. The whole project, including this website, treaty explorer, our source code, and processed data is open source, and licensed as CC0, which puts it in the public domain.

Demo Video

Code and Data

All of the data and source code for this project is hosted on github.


Alan Gomez-Tagle (10th grade, Newton North High School, Newton MA)

Carter Nielsen (11th grade, Newton North High School, Newton MA)

Ilya Bronshtein (Gentle Knowledge instructor and mentor)

Talia Bronshtein (mentor)

If you have questions, you can email us at schoolprojectshs@gmail.com