Kuva: Heikki Junnila
Punavarpunen on peipon kokoinen. Sen pituus on 14–15 senttimetriä ja paino 19–25 grammaa. Vanha koiras on helppo tuntea: rinta, pää ja yläperä ovat kirkkaan punaiset, ja laulu kirkas, kuuluva vihellys, jonka se esittää puun, pensaan tai ruo’on latvassa. Naaras ja ensimmäisen kesän (2kv) koiras ovat melko harmaita, alapuolelta hieman vaaleampia. 2kv-koiraalla saattaa olla joitakin punaisia höyheniä puvussaan. Myös 2kv-koiras laulaa. Nuori lintu muistuttaa naarasta, mutta on lämpimämmän ruskehtava ja kaksi vaaleaa siipijuovaa erottuvat selkeämmin. Varoitusääni on käheä ”tsyii”, muistuttaen viherpeippoa. Nuorten lintujen kutsuääni on samantapainen mutta kirkkaampi, muistuttaen tiltaltin tai pajulinnun ääntä. Sitä kuulee vain melko lyhyen ajan heinäkuun puolivälistä elokuun alkupuolelle.
Vanhoilla linnuilla on täydellinen sulkasato talvehtimisalueella.
Vanhin suomalainen rengastettu punavarpunen on ollut 8 vuotta, 11 kuukautta ja 18 päivää vanha. Se on samalla Euroopan vanhin punavarpunen.
Pesä rakennetaan tavallisesti matalalle pensaaseen, katajaan tai nuoreen kuuseen. Naaras rakentaa yksin koiraan seuratessa ja vartioidessa. Pesän runko on tavallisesti tehty kuivista ruohoista, pesäkuppi vuorattu ohuilla juurilla ja muilla kuiduilla. Munia on 3–6, tavallisesti 5, väriltään sinertäviä, tummin täplin ja kiemuroin koristeltuja, noin 16–22 mm pitkiä ja 13–16 mm leveitä. Muninta alkaa kesäkuun ensimmäisellä tai toisella viikolla. Naaras hautoo yksin 12 vrk. Poikasia ruokkivat ja hoitavat molemmat emot. Lentokykyisiä poikaset ovat noin 2 viikon ikäisinä.
Punavarpunen on muuttolintu, joka saapuu Suomeen toukokuun puolivälissä – kesäkuun alussa. Syysmuutto alkaa aikaisin, jo heinäkuun kolmannella viikolla alkavat pesinnästään selvinneet vanhat linnut kerätä ihonalaista rasvaa muuttomatkaa varten. Nuoret lähtevät muutolle hieman myöhemmin, pääosin elokuun loppuun mennessä. Poikkeuksellisesti laji on tavattu vielä loka–marraskuussa, joskus jopa talvella.