Den 36-årige gjorde 14 framträdanden i County Championship förra säsongen som Middlesex vann Division One titel för första gången sedan 1993.
"James förblir en högkvalitativ cricketer," sade verkställande direktör för cricket Angus Fraser.
"Som senior spelare är han ett underbart exempel och han förblir motiverad."
Han tillade: "James arbetade lika hårt som någon annan för att hjälpa klubben vinna sin första Championship titel i 23 år."
Franklin gick Middlesex 2015 och har presenterat 70 gånger för dem i alla format av spelet.
Vänsterhandaren spelade 31 Tester för Nya Zeeland, 110 endagsinternationaler och 38 Twenty20 matcher mellan 2001 och 2013.
Middlesex kapten James Franklin har undertecknat ett nytt kontrakt, som kommer att hålla den tidigare Nya Zeeland allrounder på Lord's fram till slutet av 2018.