Šarnelės piliakalnis įrengtas aukštumos pietrytiniame pakraštyje esančioje kalvoje, prie buvusios plačios pelkės. Iš pietų, rytų ir vakarų piliakalnį supa šlapios pievos. Šlaitai statūs, 13-15 m aukščio. Aikštelė trapecinė, pailga šiaurės – pietų kryptimi, 50 m ilgio, 30 m pločio šiauriniame gale, 37 m – pietiniame. Joje rasta lygios keramikos. Jos šiauriniame krašte supiltas 30 m ilgio, 4,5 m aukščio, 35 m pločio pylimas, kurio išorinis 11 m aukščio šlaitas leidžiasi į 35 m pločio, 5 m gylio griovį 12 m pločio dugnu. Piliakalnis apardytas arimų, aikštelės viduryje iškasta duobė. Šlaitai apaugę lapuočiais, aikštelė dirvonuoja. Šiauriniame šlaite į pylimą įrengti laiptai.