adapted from Forager Chef and Joy of Cooking, 2019
In a jam pot, heavy saucepan, or Dutch oven bring crabapples to boil, turn down the heat to low, and cook while mashing at the fruit occasionally for 10 or 15 minutes.
Pour the crabapples into a colander lined with a double-layer of cheesecloth and allow to drain and cool completely. Gather the cheesecloth into a bundle and squeeze to get more juice. Pour juice into a glass measure and take note of the amount. Rinse and dry the pot.
Add juice and equal amounts of water and granulated sugar to the pot. Add citric acid (or lemon juice). Bring to boil and cook over high heat until temperature reaches 220°, adjusted down if you're at high altitude (2° for every 1,000 feet above sea level, e.g. target 210° in Bozeman, Montana which is at about 5,000 feet).
When you're close to the target temperature, check for the "jelling point" using the spoon test: remove pan from heat, dip spoon and hold horizontally. You're looking for droplets to form, ideally for two drops to merge and fall as one. If the syrup flows from the spoon without forming thick drops, continue to cook the jelly for another minute and check again.
Consult Joy of Cooking for more detailed information about The Jelling Point.
Transfer to a clean jar and cool completely. Keep refrigerated and use within 6 months.