In digital logic and computing, a counter is a device which stores (and sometimes displays) the number of times a particular event or process has occurred, often in relationship to a clock signal.
Classification of counters
In electronics, counters can be implemented quite easily using register-type circuits such as the flip-flop, and a wide variety of classifications exist:
1. Asynchronous (ripple) counter – changing state bits are used as clocks to subsequent state flip-flops.
2. Synchronous counter – all state bits change under control of a single clock.
3. Decade counter – counts through ten states per stage.
4. Up/down counter – counts both up and down, under command of a control input.
5. Ring counter – formed by a shift register with feedback connection in a ring.
6. Johnson counter – a twisted ring counter.

Comparison between Synchronous and Asynchronous counters
1. In, Asynchronous the clock pulse inputs of all flip flops, except the first, are triggered not by the incoming pulses, but rather by the transition that occurs in previous flip flop’s output. Whereas In a synchronous counter, the input pulses are applied to all clock pulse inputs of all flip flops simultaneously (directly).
2. Asynchronous counter is also known as serial sequential circuit whereas Synchronous counter is also known as parallel sequential circuit.
3 Asynchronous counters are slower than synchronous counter whereas Synchronous counters are faster than asynchronous counter
4. Asynchronous circuits are quite difficult to design for a reliable operation. Whereas Synchronous circuits are easy to design for a reliable operation.
5. Example of  asynchronous counter, Binary Ripple Counter ,Up Down Counter whereas example Synchronous counters Ring Counter, Twisted ring counter.

All About Basic Electronics