Beginners (especially the lazy) should take the easy approach of selecting fish whose needs match the qualities of their normal tap water. Alternatively, an advanced (and energetic!) aquarist can change the water characteristics to match the fish's needs, though doing so is almost always more difficult than first appears. In either case, you need to know enough about water chemistry to ensure that the water in your tank has the right properties for the fish you are keeping.
Water has four measurable properties that are commonly used to characterize its chemistry. They are pH, buffering capacity, general hardness and salinity. In addition, there are several nutrients and trace elements.
To a fishkeeper, two aspects of pH are important. First, rapid changes in pH are stressful to fish and should be avoided. Changing the pH by more than .3 units per day is known to stress fish. Thus, you want the pH of your tank to remain constant and stable over the long haul. Second, fish have adapted to thrive in a (sometimes narrow) pH range. You want to be sure that your tank's pH matches the specific requirements of the fish you are keeping.
Most fish can adjust to a pH somewhat outside of their optimal range. If your water's pH is naturally within the range of 6.5 to 7.5, you will be able to keep most species of fish without any problems. If your pH lies within this range, there is probably no need to adjust it upward or downward.
Buffering has both positive and negative consequences. On the plus side, the nitrogen cycle produces nitric acid (nitrate). Without buffering, your tank's pH would drop over time (a bad thing). With sufficient buffering, the pH stays stable (a good thing). On the negative side, hard tap water often almost always has a large buffering capacity. If the pH of the water is too high for your fish, the buffering capacity makes it difficult to lower the pH to a more appropriate value. Naive attempts to change the pH of water usually fail because buffering effects are ignored.
In freshwater aquariums, most of water's buffering capacity is due to carbonates and bicarbonates. Thus, the terms ``carbonate hardness'' (KH), ``alkalinity'' and ``buffering capacity'' are used interchangeably. Although technically not the same things, they are equivalent in practice in the context of fishkeeping. Note: the term ``alkalinity'' should not be confused with the term ``alkaline''. Alkalinity refers to buffering, while alkaline refers to a solution that is a base (i.e., pH > 7).
How much buffering does your tank need? Most aquarium buffering capacity test kits actually measure KH. The larger the KH, the more resistant to pH changes your water will be. A tank's KH should be high enough to prevent large pH swings in your tank over time. If your KH is below roughly 4.5 dH, you should pay special attention to your tank's pH (e.g, test weekly, until you get a feel for how stable the pH is). This is ESPECIALLY important if you neglect to do frequent partial water changes. In particular, the nitrogen cycle creates a tendency for an established tank's pH to decrease over time. The exact amount of pH change depends on the quantity and rate of nitrates produced, as well as the KH. If your pH drops more than roughly two tenths of a point over a month, you should consider increasing the KH or performing partial water changes more frequently. KH doesn't affect fish directly, so there is no need to match fish species to a particular KH.
Note: it is not a good idea to use distilled water in your tank. By definition, distilled water has essentially no KH. That means that adding even a little bit of acid will change the pH significantly (stressing fish). Because of its instability, distilled (or any essentially pure water) is never used directly. Tap water or other salts must first be added to it in order to increase its GH and KH.
Note: GH, KH and pH form the Bermuda's Triangle of water chemistry. Although the three properties are distinct, they all interact with each other to varying degrees, making it difficult to adjust one without impacting the other. That is one reason why beginning aquarists are advised NOT to tamper with these parameters unless absolutely necessary. As an example, ``hard'' water frequently often comes from limestone aquifers. Limestone contains calcium carbonate, which when dissolved in water increases both the GH (from calcium) and KH (from carbonate) components. Increasing the KH component also usually increases pH as well. Conceptually, the KH acts as a ``sponge'' absorbing the acid present in the water, raising the water's pH.
Water hardness follows the following guidelines. The unit dH means ``degree hardness'', while ppm means ``parts per million'', which is roughly equivalent to mg/L in water. 1 unit dH equals 17.8 ppm CaCO3. Most test kits give the hardness in units of CaCO3; this means the hardness is equivalent to that much CaCO3 in water but does not mean it actually came from CaCO3.
General Hardness 0 - 4 dH, 0 - 70 ppm : very soft 4 - 8 dH, 70 - 140 ppm : soft 8 - 12 dH, 140 - 210 ppm : medium hard 12 - 18 dH, 210 - 320 ppm : fairly hard 18 - 30 dH, 320 - 530 ppm : hard higher : liquid rock (Lake Malawi and Los Angeles, CA)
Salinity is usually expressed in terms of its specific gravity, the ratio of a solution's weight to weight of an equal volume of distilled water. Because water expands when heated (changing its density), a common reference temperature of 59F degrees is used. Salinity is measured with a hydrometer, which is calibrated for use at a specific temperature (e.g., 75F degrees is common).
One component of salinity that neither GH or KH includes is sodium. Some freshwater fish tolerate (or even prefer) a small amount of salt (it stimulates slime coat growth). Moreover, parasites (e.g., ick) do not tolerate salt at all. Thus, salt in concentrations of (up to) 1 tablespoon per 5 gallons can actually help prevent and cure ick and other parasitic infections.
On the other hand, some species of fish do not tolerate ANY salt well. Scaleless fish (in general) and some Corydoras catfish are far more sensitive to salt than most freshwater fish. Add salt only if you are certain that all of your tank's inhabitants prefer it or can at least tolerate it.
To raise both GH and KH simultaneously, add calcium carbonate (CaCO3). 1/2 teaspoon per 100 liters of water will increase both the KH and GH by about 1-2 dH. Alternatively, add some sea shells, coral, limestone, marble chips, etc. to your filter.
To raise the KH without raising the GH, add sodium bicarbonate (NaHCO3), commonly known as baking soda. 1/2 teaspoon per 100 Liters raises the KH by about 1 dH. Sodium bicarbonate drives the pH towards an equilibrium value of 8.2.
Muriatic (hydrochloric) acid can be used to reduce pH. Note that the exact quantity needed depends on the water's buffering capacity. In effect, you add enough acid to use up all the buffering capacity. Once this has been done, decreasing the pH is easy. However, it should be noted that the resultant lower-pH water has much less KH buffering than it did before, making it more susceptible to pH swings when (for instance) nitrate levels rise. Warning: It goes without saying that acids are VERY dangerous! Do not use this approach unless you know what you are doing, and you should treat the water BEFORE adding it to the aquarium.
Products such as ``pH-Down'' are often based on a phosphoric acid buffer. Phosphoric acid tends to keep the pH at roughly 6.5, depending on how much you use. Unfortunately, use of phosphoric acid has the BIG side effect of raising the phosphate level in your tank, stimulating algae growth. It is difficult to control algae growth in a tank with elevated phosphate levels. The only advantage over hydrochloric acid is that pH will be somewhat better buffered at its lower value.
One safe way to lower pH WITHOUT adjusting KH is to bubble CO2 (carbon dioxide) through the tank. The CO2 dissolves in water, and some of it forms carbonic acid. The formation of acid lowers the pH. Of course, in order for this approach to be practical, a steady source of CO2 bubbles (e.g. a CO2 tank) is needed to hold the pH in place. As soon as the CO2 is gone, the pH bounces back to its previous value. The high cost of a CO2 injection system precludes its use as a pH lowering technique in most aquariums (though see the PLANT FAQ for inexpensive do-it-yourself alternatives). CO2 injection systems are highly popular in heavily-planted tanks, because the additional CO2 stimulates plant growth.
Typical home water softeners soften water using a technique known as ``ion exchange''. That is, they remove calcium and magnesium ions by replacing them with sodium ions. Although this does technically make water softer, most fish won't notice the difference. That is, fish that prefer soft water don't like sodium either, and for them such water softeners don't help at all. Thus, home water softeners are not an appropriate way to soften water for aquarium use.
Fish stores also market ``water softening pillows''. They use the same ion-exchange principle. One ``recharges'' the pillow by soaking it in a salt water solution, then places it in the tank where the sodium ions are released into the water and replaced by calcium and magnesium ions. After a few hours or days, the pillow (along with the calcium and magnesium) are removed, and the pillow recharged. The pillows sold in stores are too small to work well in practice, and shouldn't be used for the same reason cited above.
Peat moss softens water and reduces its hardness (GH). The most effective way to soften water via peat is to aerate water for 1-2 weeks in a bucket containing peat moss. For example, get a (plastic) bucket of the appropriate size. Then, get a large quantity of peat (a gallon or more), boil it (so that it sinks), stuff it in a pillow case, and place it in the water bucket. Use an air pump to aerate it. In 1-2 weeks, the water will be softer and more acidic. Use this aged water when making partial water changes on your tank.
Peat can be bought at pet shops, but it is expensive. It is much more cost-effective to buy it in bulk at a local gardening shop. Read labels carefully! You don't want to use peat containing fertilizers or other additives.
Although some folks place peat in the filters of their tanks, the technique has a number of drawbacks. First, peat clogs easily, so adding peat isn't always effective. Second, peat can be messy and may cloud the water in your tank. Third, the exact quantity of peat needed to effectively soften your water is difficult to estimate. Using the wrong amount results in the wrong water chemistry. Finally, when doing water changes, your tank's chemistry changes when new water is added (it has the wrong properties). Over the next few days, the chemistry changes as the peat takes effect. Using aged water helps ensure that the chemistry of your tank doesn't fluctuate while doing water changes.
Hard water can also be softened by diluting it with distilled water or R/O water. R/O (reverse-osmosis) water is purified water made by a R/O unit. Unfortunately, R/O units are too expensive ($100-$500) for most hobbyists. R/O water can also be purchased at some fish stores, but for most folks the expense and hassle are not worth it. The same applies to distilled water purchased at grocery stores.