| Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score | 
|---|
| Win | 1–0 | Jun 2007 | ITF Hilton Head, United States | 10,000 | Hard |  Stacia Fonseca |  Ryōko Fuda 
  Mami Inoue | 6–3, 6–2 | 
| Loss | 1–1 | Jun 2008 | Waterloo Challenger, Canada | 25,000 | Clay |  Lauren Albanese |  Akiko Yonemura 
  Tomoko Yonemura | 1–6, 6–4, [3–10] | 
| Win | 2–1 | Jun 2009 | Waterloo Challenger, Canada | 25,000 | Clay |  Allie Will |  Heidi El Tabakh 
  Tetiana Luzhanska | 6–2, 6–1 | 
| Loss | 2–2 | Apr 2010 | ITF Charlottesville, United States | 50,000 | Hard |  Ahsha Rolle |  Julie Ditty 
  Carly Gullickson | 4–6, 3–6 | 
| Loss | 2–3 | May 2010 | ITF Raleigh, United States | 50,000 | Clay |  Ahsha Rolle |  Kristie Ahn 
  Nicole Gibbs | 3–6, 2–6 | 
| Win | 3–3 | May 2010 | ITF Landisville, United States | 10,000 | Hard |  Gail Brodsky |  Dianne Hollands 
  Tiffany Welford | 4–6, 7–5, [10–2] | 
| Win | 4–3 | May 2010 | ITF Sumter, United States | 10,000 | Hard |  Ashley Weinhold |  Nicole Melichar 
  Alexandra Leatu | 6–1, 6–3 | 
| Loss | 4–4 | Nov 2010 | Toronto Challenger, Canada | 50,000 | Hard (i) |  Brittany Augustine |  Sharon Fichman 
  Gabriela Dabrowski | 4–6, 0–6 | 
| Win | 5–4 | May 2011 | Carson Challenger, United States | 50,000 | Hard |  Asia Muhammad |  Christina Fusano 
  Yasmin Schnack | 6–2, 6–3 | 
| Loss | 5–5 | May 2011 | ITF Hilton Head, United States | 10,000 | Hard |  Whitney Jones |  Macall Harkins 
  Amanda McDowell | 3–6, 3–6 | 
| Win | 6–5 | Jun 2011 | ITF Boston, United States | 50,000 | Hard |  Tetiana Luzhanska |  Sharon Fichman 
  Marie-Ève Pelletier | 7–6(3), 6–3 | 
| Win | 7–5 | Jul 2011 | Waterloo Challenger, Canada | 50,000 | Clay |  Asia Muhammad |  Eugenie Bouchard 
  Megan Moulton-Levy | 6–3, 3–6, [10–7] | 
| Loss | 7–6 | May 2012 | ITF Raleigh, United States | 25,000 | Clay |  Asia Muhammad |  Gabriela Dabrowski 
  Marie-Ève Pelletier | 4–6, 6–4, [5–10] | 
| Loss | 7–7 | May 2012 | ITF Landisville, United States | 10,000 | Hard |  Gabriela Dabrowski |  Macall Harkins 
  Hsu Chieh-yu | 3–6, 4–6 | 
| Win | 8–7 | May 2013 | ITF Sumter, United States | 10,000 | Hard |  Kristy Frilling |  Jamie Loeb 
  Sanaz Marand | 6–4, 6–3 | 
| Win | 9–7 | May 2013 | ITF Hilton Head, United States | 10,000 | Hard |  Kristy Frilling |  Hayley Carter 
  Josie Kuhlman | 6–3, 6–4 | 
| Win | 10–7 | Jun 2013 | ITF Buffalo, United States | 10,000 | Clay |  Emily Harman |  Sachie Ishizu 
  Denise Starr | 4–6, 6–3, [10–7] | 
| Win | 11–7 | Sep 2013 | ITF Amelia Island, United States | 10,000 | Clay |  Maria Fernanda Alves |  Roxanne Ellison 
  Sierra Ellison | 7–5, 6–3 | 
| Win | 12–7 | Oct 2013 | ITF Hilton Head, United States | 10,000 | Clay |  Jillian O'Neill |  Kristi Boxx 
  Abigail Guthrie | 6–4, 6–1 | 
| Loss | 12–8 | Nov 2013 | ITF Captiva Island, United States | 50,000 | Hard |  Julia Boserup |  Gabriela Dabrowski 
  Allie Will | 1–6, 2–6 | 
| Win | 13–8 | May 2014 | ITF Raleigh, United States | 25,000 | Clay |  Hsu Chieh-yu |  Danielle Lao 
  Keri Wong | 6–3, 6–3 | 
| Win | 14–8 | Jun 2014 | ITF Bethany Beach, United States | 10,000 | Clay |  Lena Litvak |  Rima Asatrian 
  Katerina Stewart | 6–4, 6–1 | 
| Win | 15–8 | Jun 2014 | ITF Charlotte, United States | 10,000 | Clay |  Lena Litvak |  Sophie Chang 
  Andie Daniell | 6–3, 6–3 | 
| Loss | 15–9 | Aug 2014 | ITF Landisville, United States | 25,000 | Hard |  Lena Litvak |  Jamie Loeb 
  Sanaz Marand | 6–7(5), 1–6 | 
| Win | 16–9 | Jun 2015 | ITF Sumter, United States | 25,000 | Hard |  Ashley Weinhold |  Jacqueline Cako 
  Danielle Lao | 5–7, 7–5, [10–6] | 
| Loss | 16–10 | Jun 2016 | ITF Buffalo, United States | 10,000 | Clay |  Sophie Chang |  Caroline Dolehide 
  Ingrid Neel | 7–5, 3–6, [6–10] | 
| Win | 17–10 | Jun 2016 | ITF Bethany Beach, United States | 10,000 | Clay |  Sophie Chang |  Veronica Miroshnichenko 
  Sofia Sewing | 6–1, 6–4 | 
| Win | 18–10 | Jun 2016 | ITF Evansville, United States | 10,000 | Hard |  Sophie Chang |  Brynn Boren 
  Keri Wong | 6–1, 6–4 | 
| Loss | 18–11 | Jul 2016 | Lexington Challenger, United States | 50,000 | Hard |  Sophie Chang |  Hiroko Kuwata 
  Zhu Lin | 0–6, 5–7 | 
| Loss | 18–12 | Jun 2017 | ITF Bethany Beach, United States | 25,000 | Clay |  Sophie Chang |  Sabrina Santamaria 
  Abigail Tere-Apisah | 4–6, 0–6 | 
| Win | 19–12 | Aug 2017 | ITF Landisville, United States | 25,000 | Hard |  Sophie Chang |  Ksenia Lykina 
  Emily Webley-Smith | 4–6, 6–3, [10–5] | 
| Loss | 19–13 | Sep 2017 | Las Vegas Open, United States | 60,000 | Hard |  Sophie Chang |  An-Sophie Mestach 
  Laura Robson | 6–7(7), 6–7(2) | 
| Loss | 19–14 | Oct 2017 | ITF Sumter, United States | 25,000 | Hard |  Caitlin Whoriskey |  Jessica Pegula 
  Taylor Townsend | 6–4, 5–7, [5–10] | 
| Win | 20–14 | Apr 2018 | Charlottesville Open, United States | 80,000 | Clay |  Sophie Chang |  Ashley Kratzer 
  Whitney Osuigwe | 3–6, 6–4, [10–7] | 
| Win | 21–14 | Oct 2018 | ITF Charleston Pro, United States | 25,000 | Clay |  Sophie Chang |  Hsu Chieh-yu 
  Gabriela Talabă | 6–4, 6–4 | 
| Loss | 21–15 | Nov 2018 | Las Vegas Open, United States | 80,000 | Hard |  Sophie Chang |  Asia Muhammad 
  Maria Sanchez | 3–6, 4–6 | 
| Loss | 21–16 | Nov 2019 | Las Vegas Open, United States | 60,000 | Hard |  Sophie Chang |  Mandy Minella 
  Olga Govortsova | 3–6, 4–6 |