I bought vegetable seeds a few years back. I tried planting them this year but am having mixed results (very few are sprouting). Do seeds have a shelf life/expiration after which they will not germinate? I am trying to figure out if the problem is with the seeds or something else.
Yes, all seeds have an average "life span", but the length varies between species and is greatly influenced by storage conditions like temperature, humidity and light.
As a rule of thumb, dry, cool and dark, possibly in the original sealed package is the best way to store seeds.
The standard garden veggie seeds should typically1 last at least two to three years under the aforementioned storage conditions. After that, you'll likely notice a drop in the germination rate, which you can counter by sowing a bit more generously (you can always thin the seedlings later). Consider a germination test for older seeds to get an idea of what you can expect from a particular batch
1 Of course there is some variation. Unfortunately, I don't have a handy table or similar at hand. Check your seed packs for either a production date / year or some other date, e.g. a recommendation to use the seeds until a certain year. Some companies will give a "germination guarantee" until a certain date or similar.
I agree with Stephie, but if you have old seeds, just try. Germination rate should still be above zero. I think 10 years is still significant, e.g. more than 1/3. Considering that often seed packs have too much seeds, it is still an option.
This year I put together a lot of seeds I had (few from '80, but most from 2000 to 2012). It was a real overseeding, in bad conditions (I didn't work too much the soil, because I didn't get much chances). Anyway I get a lot of seedlings from many different kinds.
From my experience (not so scientific): Cucurbitaceae (e.g. zucchini) and Apiaceae (carots) have good germination also after long time. Solanaceae (tomatoes) and Brassicaceae (radish, rucola) follow them. I had more problem with beans: they dry quickly after few years of bad storage. I didn't have many seeds of Asteraceae (lactuces) and Amaranthaceae (Swiss chards), so I cannot really tell you about that.
No, or may depend on the seed. When I had a vegetable garden, I had some seeds 15+ years old . I didn't have a problem with sprouting. I did store them sealed in a refrigerator. At one time I thought 5 year old onion seed was bad, so to use it up I planted it very thick. That was a good weather year and it looked like I had a row grass in the garden. I may have a new data point; planted some 35 year old coral beans a couple days ago and they are now swelling . I believe sprouting rates are 95 % moisture, temperature, etc.
Generally speaking, light, heat and moisture degrade their viability/ability to germinate.
With the exception of bean and pea seeds (which form a hardened coating in response to cold), as soon as I'm done using them, I tape the envelope shut, then I put all my seeds that I want to try and reuse in a zip-closure plastic storage baggie (a thicker one, like "storage" or "freezer" variety, not the really thin "sandwich" ones), a pint or quart size is fine. I add uncooked white rice (to absorb any excess moisture), squeeze out the extra air, seal it and store it in my basement fridge, in the crisper drawer, where it stays in cool dry darkness until the next planting session.
I have no problems with germination rates for at least two more years. From Giaccomo's answer, looks like this can be pushed quite a bit further. I generally never try to push it to a fourth. This works great for peppers, tomatoes, cabbage family (inc. Brussels sprouts, broccoli, and cauliflower as well as cabbage), lettuce, squash/pumpkins..... you name it.