| Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score | 
|---|
| Loss | 0–1 | Apr 2010 | ITF Ain Sukhna, Egypt | 10,000 | Clay |     Audrey Bergot  |     Anna Brazhnikova      Marta Sirotkina  | 3–6, 3–6 | 
| Win | 1–1 | Dec 2010 | ITF Ain Sukhna, Egypt | 10,000 | Clay |     Sofiya Kovalets |     Galina Fokina      Marina Melnikova  | 6–1, 6–2 | 
| Win | 2–1 | Oct 2011 | ITF Palembang, Indonesia | 25,000 | Hard |     Tamaryn Hendler  |     Ayu Fani Damayanti      Jessy Rompies  | 6–4, 6–2 | 
| Win | 3–1 | Oct 2011 | ITF Bayamón, Puerto Rico | 25,000 | Hard |     Ajla Tomljanović  |     Victoria Duval      Allie Kiick  | 6–3, 6–1 | 
| Win | 4–1 | Mar 2012 | ITF Wellington, New Zealand | 25,000 | Hard |     Anna Fitzpatrick  |     Han Sung-hee      Yurina Koshino | 6–3, 6–4 | 
| Loss | 4–2 | Sep 2012 | ITF Port Pirie, Australia | 25,000 | Hard |     Stephanie Bengson  |     Sacha Jones      Sally Peers  | 4–6, 2–6 | 
| Win | 5–2 | Oct 2012 |  Lagos Open, Nigeria | 25,000 | Hard |     Conny Perrin  |     Nina Bratchikova      Margarita Lazareva | 6–1, 6–1 | 
| Win | 6–2 | Oct 2012 | Lagos Open, Nigeria | 25,000 | Hard |     Conny Perrin |     Lu Jiajing      Lu Jiaxiang | 6–2, 3–6, [10–7] | 
| Win | 7–2 | Nov 2012 | ITF Asunción, Paraguay | 25,000 | Clay |     María Fernanda Álvarez Terán  |     Anamika Bhargava      Sylvia Krywacz | 4–6, 6–3, [10–5] | 
| Win | 8–2 |  May 2013  |  Soweto Open, South Africa | 50,000 | Hard |     Magda Linette  |     Samantha Murray      Jade Windley  | 6–1, 6–3 | 
| Loss | 8–3 |  Jul 2013  |  Lexington Challenger, U.S. | 50,000 | Hard |     Julia Glushko  |     Nicha Lertpitaksinchai      Peangtarn Plipuech  | 6–7(5), 3–6 | 
| Loss | 8–4 | Aug 2013 | ITF Landisville, U.S. | 25,000 | Hard |     Emily Webley-Smith  |     Monique Adamczak      Olivia Rogowska  | 2–6, 3–6 | 
| Loss | 8–5 | Oct 2013 | Lagos Open, Nigeria | 25,000 | Hard |     Conny Perrin |     Fatma Al-Nabhani      Gioia Barbieri  | 6–1, 4–6, [8–10] | 
| Win | 9–5 | Apr 2014 | ITF Jackson, United States | 25,000 | Clay |     Maša Zec Peškirič  |     Erika Sema      Yurika Sema  | 6–7(5), 6–3, [10–5] | 
| Win | 10–5 | Apr 2014 | ITF Dakar, Senegal | 15,000 | Hard |     Emily Webley-Smith |     Conny Perrin      Ekaterina Yashina | 6–4, 7–5 | 
| Win | 11–5 | May 2014 | ITF Sun City, South Africa | 10,000 | Hard |     Michelle Sammons  |     Ilze Hattingh      Madrie Le Roux  | 7–5, 6–3 | 
| Win | 12–5 | Jun 2014 | ITF Sun City, South Africa | 10,000 | Hard |     Michelle Sammons |     Ilze Hattingh      Madrie Le Roux | 6–3, 6–3 | 
| Win | 13–5 | Aug 2014 | ITF Braunschweig, Germany | 15,000 | Clay |     Conny Perrin |     Polina Leykina      Isabella Shinikova  | 6–3, 6–0 | 
| Win | 14–5 | Jan 2015 | ITF Antalya, Turkey | 10,000 | Clay |     Melis Sezer  |     Ekaterine Gorgodze      Sofia Kvatsabaia  | 6–4, 4–6, [10–4] | 
| Loss | 14–6 | Mar 2015 | ITF Port El Kantaoui, Tunisia | 10,000 | Hard |     Jessica Ho |     Cristina Sánchez Quintanar      Clara Tanielian | 5–7, 7–6(9), [3–10] | 
| Loss | 14–7 | Mar 2015 | ITF Port El Kantaoui, Tunisia | 10,000 | Hard |     Magali Kempen  |     Myrtille Georges      Isabella Shinikova | 6–1, 4–6, [2–10] | 
| Loss | 14–8 | Mar 2015 | ITF Bangkok, Thailand | 15,000 | Hard |     Emily Webley-Smith |     Jang Su-jeong      Vojislava Lukić  | 4–6, 4–6 | 
| Loss | 14–9 | Jun 2015 | ITF Ystad, Sweden | 25,000 | Clay |     Conny Perrin |     Xenia Knoll      Cornelia Lister  | 5–7, 6–7(5) | 
| Loss | 14–10 | Jun 2015 | ITF Baton Rouge, U.S. | 25,000 | Hard |     Storm Sanders  |     Samantha Crawford      Emily Harman  | 6–7(4), 1–6 | 
| Win | 15–10 | Apr 2016 | ITF León, Mexico | 10,000 | Hard |     Renata Zarazúa  |     Sabastiani León      Nazari Urbina  | 6–0, 6–2 | 
| Win | 16–10 | Apr 2016 | ITF Heraklion, Greece | 10,000 | Hard |     Freya Christie  |     Valeria Savinykh      Alyona Sotnikova  | 6–4, 6–0 | 
| Loss | 16–11 |  Jul 2016  |  Gold River Challenger, U.S. | 50,000 | Hard |     Jamie Loeb  |     Ashley Weinhold      Caitlin Whoriskey  | 4–6, 4–6 | 
| Win | 17–11 | Aug 2016 | ITF Fort Worth, U.S. | 25,000 | Hard |     Hsu Chieh-yu  |     Jacqueline Cako      Danielle Lao  | 6–0, 6–4 | 
| Loss | 17–12 |  Oct 2016  |  Henderson Open, U.S. | 50,000 | Hard |     Jamie Loeb |     Michaëlla Krajicek      Maria Sanchez  | 5–7, 1–6 | 
| Win | 18–12 | Nov 2016 | ITF Stellenbosch, South Africa | 10,000 | Hard |     Kaitlyn Christian  |     Valeria Bhunu      Linnea Malmqvist | 6–0, 7–6(3) | 
| Win | 19–12 | Jan 2017 | ITF Wesley Chapel, U.S. | 25,000 | Clay |     Renata Zarazúa |     Elizabeth Halbauer      Sofia Kenin  | 6–2, 7–6(5) | 
| Loss | 19–13 |  Jul 2017  |  Stockton Challenger, U.S. | 60,000 | Hard |     Tammi Patterson  |     Usue Maitane Arconada      Sofia Kenin | 6–4, 1–6, [5–10] | 
| Win | 20–13 | Nov 2017 | ITF Stellenbosch, South Africa | 15,000 | Hard |     Mana Ayukawa |     Alicia Barnett      Nina Stadler | 6–2, 6–2 | 
| Win | 21–13 | Dec 2017 | ITF Stellenbosch, South Africa | 15,000 | Hard |     Mana Ayukawa |     Petra Januskova      Madeleine Kobelt | 7–6(3), 6–3 | 
| Loss | 21–14 | Apr 2018 | ITF Jackson, United States | 25,000 | Clay |     Gaia Sanesi  |     Sanaz Marand      Whitney Osuigwe  | 1–6, 3–6 | 
| Win | 22–14 | Apr 2018 |  Wiesbaden Open, Germany | 25,000 | Clay |     Hélène Scholsen  |     Cornelia Lister      Sabrina Santamaria  | 6–3, 2–6, [10–8] | 
| Win | 23–14 | May 2018 | ITF Rome, Italy | 25,000 | Clay |     Conny Perrin |     Chen Pei-hsuan      Wu Fang-hsien  | 6–7(0), 6–1, [10–7] | 
| Loss | 23–15 | Jun 2018 |  Bredeney Ladies Open, Germany | 25,000 | Clay |     Diāna Marcinkeviča  |     Katharina Gerlach      Julia Wachaczyk  | 4–6, 6–2, [6–10] | 
| Win | 24–15 | May 2019 | ITF Changwon, South Korea | 25,000 | Hard |     Hsu Chieh-yu |     Lee Ya-hsuan      Choi Ji-hee  | 6–3, 6–4 | 
| Win | 25–15 | May 2019 | ITF Goyang, South Korea | 25,000 | Hard |     Hsu Chieh-yu |     Lee So-ra      Kim Na-ri  | 6–1, 6–3 | 
| Win | 26–15 | Jul 2019 | ITF Evansville, U.S. | 25,000 | Hard |     Hsu Chieh-yu |     Pamela Montez      Haruna Arakawa | 6–2, 6–0 | 
| Win | 27–15 | Sep 2019 | ITF Sajur, Israel | 15,000 | Hard |     Alicia Barnett |     Amandine Cazeaux      Noelly Longi Nsimba | 6–4, 6–4 | 
| Win | 28–15 | Sep 2019 | ITF Johannesburg, South Africa | 15,000 | Hard |     Caroline Romeo  |     Adesuwa Osabuohien       Tamara Itzhaki | 6–1, 6–3 | 
| Win | 29–15 | Oct 2019 | ITF Pretoria, South Africa | 15,000 | Hard |     Caroline Romeo |     Merel Hoedt      Zeel Desai  | w/o |