I don't think we have built in support for it yet, the main reason being that JSON doesn't support tuples. Though, a tuple can be expressed as an array.
What does your format combinator look like? Here's what a reads might look like:
def tuple2Reads[A, B](implicit aReads: Reads[A], bReads: Reads[B]): Reads[Tuple2[A, B]] = Reads[Tuple2[A, B]] {
case JsArray(arr) if arr.value.size == 2 => for {
a <- aReads.reads(arr.value(0))
b <- bReads.reads(arr.value(1))
} yield (a, b)
case _ => JsError(Seq(JsPath() -> Seq(ValidationError("Expected array of two elements"))))
}