| Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
|---|
| Win | 1–0 | Oct 2005 | ITF Quartu Sant'Elena, Italy | 10,000 | Hard | Kika Hogendoorn | Simona Dobrá
Renata Kučerková | 6–4, 4–6, 7–5 |
| Loss | 1–1 | July 2007 | ITF Frinton-on-Sea, United Kingdom | 10,000 | Grass | Alexis Prousis | Rebecca Llewellyn
Elizabeth Thomas | 6–3, 5–7, 2–6 |
| Win | 2–1 | May 2011 | ITF Edinburgh, United Kingdom | 10,000 | Clay | Jade Windley | Surina de Beer
Scarlett Werner | 7–5, 4–6, [10–8] |
| Win | 3–1 | May 2011 | ITF Heraklion, Greece | 10,000 | Hard | Anna Fitzpatrick | Amanda Elliott
Nicole Rottmann | 6–3, 6–2 |
| Win | 4–1 | July 2011 | ITF Chiswick, United Kingdom | 10,000 | Hard | Jade Windley | Lucy Brown
Francesca Stephenson | 6–4, 6–4 |
| Win | 5–1 | Sep 2011 | ITF Alice Springs, Australia | 25,000 | Hard | Maria Fernanda Alves | Brooke Rischbieth
Storm Sanders | 3–6, 7–5, [10–3] |
| Loss | 5–2 | Sep 2011 | ITF Cairns, Australia | 25,000 | Hard | Maria Fernanda Alves | Ayu Fani Damayanti
Jessy Rompies | 3–6, 3–6 |
| Win | 6–2 | Sep 2011 | ITF Darwin, Australia | 25,000 | Hard | Maria Fernanda Alves | Stephanie Bengson
Tyra Calderwood | 6–4, 6–2 |
| Loss | 6–3 | Nov 2011 | Bendigo International, Australia | 25,000 | Hard | Storm Sanders | Stephanie Bengson
Tyra Calderwood | 6–2, 1–6, [5–10] |
| Win | 7–3 | Jan 2012 | GB Pro-Series Glasgow, United Kingdom | 10,000 | Hard (i) | Anna Fitzpatrick | Alexandra Walker
Lisa Whybourn | 6–2, 6–3 |
| Win | 8–3 | Mar 2012 | GB Pro-Series Bath, United Kingdom | 10,000 | Hard (i) | Emily Webley-Smith | Lenka Juríková
Katarzyna Piter | 4–6, 6–4, [10–5] |
| Loss | 8–4 | May 2012 | ITF Karuizawa, Japan | 25,000 | Grass | Emily Webley-Smith | Hsieh Shu-ying
Kumiko Iijima | 6–3, 6–7(6), [1–10] |
| Win | 9–4 | Aug 2012 | ITF Westende, Belgium | 10,000 | Hard | Amy Bowtell | Steffi Distelmans
Magali Kempen | 6–3, 6–3 |
| Loss | 9–5 | Sep 2012 | ITF Clermont-Ferrand, France | 25,000 | Hard (i) | Jade Windley | Diāna Marcinkēviča
Bibiane Schoofs | 3–6, 0–6 |
| Win | 10–5 | Jan 2013 | ITF Preston, United Kingdom | 10,000 | Hard (i) | Jade Windley | Tara Moore
Melanie South | 6–3, 3–6, [10–5] |
| Loss | 10–6 | Feb 2013 | Midland Tennis Classic, United States | 100,000 | Hard (i) | Maria Fernanda Alves | Melinda Czink
Mirjana Lučić-Baroni | 7–5, 4–6, [7–10] |
| Loss | 10–7 | May 2013 | Soweto Open, South Africa | 50,000 | Hard | Jade Windley | Magda Linette
Chanel Simmonds | 1–6, 3–6 |
| Loss | 10–8 | July 2013 | ITF Winnipeg, Canada | 25,000 | Hard | Jade Windley | Heidi El Tabakh
Allie Kiick | 4–6, 6–2, [8–10] |
| Loss | 10–9 | Sep 2013 | GB Pro-Series Shrewsbury, UK | 25,000 | Hard (i) | Jade Windley | Çağla Büyükakçay
Pemra Özgen | 6–4, 4–6, [8–10] |
| Win | 11–9 | Apr 2016 | ITF Sharm El Sheikh, Egypt | 10,000 | Hard | Despina Papamichail | Ola Abou Zekry
Jaqueline Cristian | 6–3, 6–2 |
| Win | 12–9 | May 2016 | ITF Sharm El Sheikh, Egypt | 10,000 | Hard | Despina Papamichail | Nidhi Chilumula
Rishika Sunkara | 3–6, 6–2, [10–1] |
| Win | 13–9 | Jul 2016 | ITF Lisbon, Portugal | 10,000 | Hard | Emma Laine | Mathilde Armitano
Inês Murta | 7–6(5), 6–3 |
| Loss | 13–10 | Aug 2016 | ITF Gatineau, Canada | 25,000 | Hard | Mana Ayukawa | Bianca Andreescu
Charlotte Robillard-Millette | 6–4, 4–6, [6–10] |
| Loss | 13–11 | Oct 2017 | ITF Cherbourg-en-Cotentin, France | 25,000 | Hard (i) | Karman Kaur Thandi | Manon Arcangioli
Shérazad Reix | 1–3 ret. |
| Win | 14–11 | Oct 2017 | Open de Touraine, France | 25,000 | Hard (i) | Sarah Beth Grey | Jaqueline Cristian
Elena-Gabriela Ruse | 7–6(3), 6–3 |
| Win | 15–11 | Oct 2017 | ITF Wirral, United Kingdom | 15,000 | Hard (i) | Maia Lumsden | Alicia Barnett
Laura Sainsbury | 6–4, 6–3 |
| Loss | 15–12 | Dec 2017 | ITF Pune, India | 25,000 | Hard | Ana Veselinović | Jessy Rompies
Varunya Wongteanchai | 4–6, 2–6 |
| Win | 16–12 | Aug 2018 | ITF Chiswick, United Kingdom | 25,000 | Hard | Freya Christie | Sarah Beth Grey
Olivia Nicholls | 3–6, 7–5, [10–8] |
| Win | 17–12 | Sep 2018 | ITF Santarém, Portugal | 15,000 | Hard | Dasha Ivanova | Maria Masini
Inês Murta | 6–0, 1–6, [10–4] |
| Win | 18–12 | Sep 2018 | ITF Lisbon, Portugal | 25,000 | Hard | Emma Laine | Michaëlla Krajicek
Tereza Martincová | 7–5, 6–4 |
| Loss | 18–13 | May 2019 | ITF Jerusalem, Israel | 25,000 | Hard | Despina Papamichail | Yuliya Hatouka
Tereza Mihalíková | 6–2, 4–6, [8–10] |
| Loss | 18–14 | Jun 2019 | ITF Santa Margarida de Montbui, Spain | 25,000 | Hard | Elitsa Kostova | Sofia Shapatava
Emily Webley-Smith | 4–6, 5–7 |
| Loss | 18–15 | Aug 2019 | ITF Chiswick, United Kingdom | 25,000 | Hard | Freya Christie | Valentini Grammatikopoulou
Sarah Beth Grey | 7–6(6), 3–6, [5–10] |
| Loss | 18–16 | Sep 2019 | Jinan International Open, China | 60,000 | Hard | Eden Silva | Yuan Yue
Zheng Wushuang | 6–1, 4–6, [7–10] |
| Win | 19–16 | Sep 2019 | ITF Roehampton, United Kingdom | 25,000 | Hard | Anna Smith | Sarah-Rebecca Sekulic
Julia Wachaczyk | 6–4, 6–3 |
| Win | 20–16 | Oct 2019 | ITF Cherbourg-en-Cotentin, France | 25,000 | Hard (i) | Naomi Broady | Myrtille Georges
Kimberley Zimmermann | 6–3, 6–2 |
| Loss | 20–17 | Oct 2019 | Challenger de Saguenay, Canada | 60,000 | Hard (i) | Bibiane Schoofs | Mélodie Collard
Leylah Fernandez | 6–7(3), 2–6 |
| Loss | 20–18 | Feb 2020 | Open de l'Isère, France | 25,000 | Hard (i) | Julia Wachaczyk | Amandine Hesse
Elixane Lechemia | 3–6, 6–4, [11–13] |
| Win | 21–18 | Mar 2020 | ITF Potchefstroom, South Africa | 25,000 | Hard | Fanny Stollár | Berfu Cengiz
Paige Hourigan | 6–1, 6–1 |
| Win | 22–18 | Sep 2020 | Open de Cagnes-sur-Mer, France | 80,000 | Clay | Julia Wachaczyk | Paula Kania
Katarzyna Piter | 7–5, 6–2 |
| Loss | 22–19 | Aug 2021 | Landisville Challenge, United States | 100,000 | Hard | Valeria Savinykh | Hanna Chang
Alexa Glatch | 6–7(3), 6–3, [9–11] |
| Win | 23–19 | Oct 2021 | Internationaux de Poitiers, France | 80,000 | Hard (i) | Mariam Bolkvadze | Audrey Albié
Léolia Jeanjean | 7–6(5), 6–0 |
| Win | 24–19 | Nov 2021 | Open Nantes Atlantique, France | 60,000 | Hard (i) | Jessika Ponchet | Alicia Barnett
Olivia Nicholls | 6–4, 6–2 |
| Win | 25–19 | Feb 2022 | AK Ladies Open, Germany | 60,000 | Carpet (i) | Mariam Bolkvadze | Susan Bandecchi
Simona Waltert | 6–3, 7–5 |
| Win | 26–19 | May 2022 | Koper Open, Slovenia | 60,000 | Clay | Xenia Knoll | Conny Perrin
Joanne Züger | 6–3, 6–2 |
| Win | 27–19 | Oct 2023 | ITF Baza, Spain | 25,000 | Hard | Olivia Gadecki | Lea Bošković
Ángela Fita Boluda | 7–5, 4–6, [10–4] |
| Loss | 27–20 | Oct 2023 | ITF Sunderland, United Kingdom | 25,000 | Hard (i) | Mariam Bolkvadze | Freya Christie
Elena Malõgina | 0–6, 6–4, [4–10] |
| Win | 28–20 | Nov 2023 | ITF Pétange, Luxembourg | 40,000 | Hard (i) | Alicia Barnett | Ali Collins
Isabelle Haverlag | 6–7(4), 6–1, [10–6] |