Bereits in der Antike waren Parlamentärsverhandlungen üblich, um Schlacht- und Kriegsfolgen zu mindern. Als erste „völkerrechtliche“ Vereinbarung lässt sich das Kriegsverbot zu Zeiten der Olympischen Spiele verstehen, die als panhellenischer Wettkampf verstanden wurden. Als bisher ältester „völkerrechtlicher“ Vertrag, der im Wortlaut überliefert worden ist, gilt das zur Mitte des dritten Jahrtausends vor Christus geschlossene Freundschafts- und Handelsabkommen zwischen den Königen von Ebla und Assur.
Die Eroberungen Alexanders des Großen schufen eine hellenistische Welt, die durch kunstvolle Diplomatie mittelmeerische Rechtsgrundlagen schufen, die durch das Römische Reich adaptiert und entwickelt wurden und im Codex Iustinianus ihren Höhepunkt fanden.
Der Jesuit Francisco Suárez kann als Mitbegründer des Völkerrechts angesehen werden.
1625 fasste Hugo Grotius in seinem Werk De jure belli ac pacis („Über das Recht des Krieges und des Friedens“) die bis dahin entwickelten Regeln zusammen. Sie wurden weiterentwickelt von Samuel von Pufendorf, Christian Wolff und anderen. Den Stand des Völkerrechts gegen Ende des 18. Jahrhunderts hat Emer de Vattel zusammengefasst.
1899 und 1907 wurden in den Haager Friedenskonferenzen kriegsvölkerrechtliche Regelungen festgelegt und der Haager Schiedsgerichtshof eingerichtet. Die Haager Landkriegsordnung wurde zur völkerrechtlichen Doktrin der zwei Weltkriege des 20. Jahrhunderts.
Einer der entscheidenden Aspekte des modernen Völkerrechts, das Gewaltverbot, trat durch den Ersten Weltkrieg lange Zeit so zurück dass es erst nach dem Ende dieses Krieges zum ersten Mal im Briand-Kellogg-Pakt (Kriegsächtungspakt) zwischen den beteiligten Staaten vereinbart wurde. Zuvor beschränkte sich das Völkerrecht, was den Krieg angeht, darauf, zu versuchen, Grausamkeiten einzudämmen und die Zivilbevölkerung zu schützen.
Der deutsche General Erich Ludendorff machte die Einstellung der militärischen Elite zum Völkerrecht am Einsatz von U-Booten fest. Diese im Ersten Weltkrieg eingesetzten neuen Waffen sorgten für so große Verunsicherung, dass die deutsche Marine es als Knebelung verstand, nur noch feindliche Handelsschiffe angreifen, diese aber nicht versenken zu dürfen. Der Angriff musste mit Warnschüssen vor den Bug angekündigt, und am Ende mussten Schiffsbrüchige aufgenommen werden.