A palavra caralho, que é um vulgarismo ou palavrão, vem «do lat[im] *caraculu-, "pequena estaca"» (in Dicionário da Língua Portuguesa 2008, da Porto Editora).
Por outro lado, o Dicionário Eletrônico Houaiss diz que o vocábulo é de «orig[em] duv[idosa]; Leo Spitzer propôs o lat[im] *characŭlus, dim[inutivo] de *charax,ācis, do gr[ego] chárax,akos, "esteio, estaca, empa"; apesar de tal étimo satisfazer tanto semântica quanto foneticamente, o voc[ábulo], que por sua sufixação arcaica (dim[inutivo] em -cŭlus) teria de ser uma f[orma] bastante antiga, jamais foi encontrado em lat[im], como, argutamente, lembra Corominas».