The "~" accent is called a tilde (also called virgulilla) and it means that the word used to be spelled with two letter Ns — but now, the tilde stands in for the second one.