A thermal printer for printing by thermally transferring an ink (12aa to 12ad) of an ink ribbon onto a printing medium using a thermal head, the ribbon including a plurality of unit printing regions each provided with the ink in a unit of a specified printing size, the thermal printer comprising: a seam shape calculator (8a, 8b, 8c) configured to determine a position and a shape of a seam between a plurality of images on the basis of an index of inconspicuousness to human eyes, in panorama printing where a panoramic image longer than the printing size is divided into the plurality of images as small as or smaller than the printing size, and is printed a plurality of times so that the plurality of images are joined to each other; a controller configured to control the printing medium, the ink ribbon, and the thermal head so that the plurality of images divided based on the position and shape of the seam, determined by the seam shape calculator, are thermally transferred onto a plurality of respective continuous regions of the printing medium using the plurality of unit printing regions of the ink ribbon, so as to be joined to each other characterised in that the thermal printer further comprises a temperature sensor configured to measure a temperature of the thermal head; and a temperature-and-humidity sensor configured to measure a temperature and a humidity of an inside of the thermal printer, wherein the seam shape calculator calculates a coloring property of the ink (12aa to 12ac) that has been thermally transferred onto the printing medium, on the basis of the temperature of the thermal head, measured by the temperature sensor, and on the basis of the temperature and humidity of the inside of the thermal printer, measured by the temperature-and-humidity sensor, and the seam shape calculator determines the position and shape of the seam on the basis of the coloring property and a gradation component of the panoramic image. a seam shape calculator (8a, 8b, 8c) configured to determine a position and a shape of a seam between a plurality of images on the basis of an index of inconspicuousness to human eyes, in panorama printing where a panoramic image longer than the printing size is divided into the plurality of images as small as or smaller than the printing size, and is printed a plurality of times so that the plurality of images are joined to each other; a controller configured to control the printing medium, the ink ribbon, and the thermal head so that the plurality of images divided based on the position and shape of the seam, determined by the seam shape calculator, are thermally transferred onto a plurality of respective continuous regions of the printing medium using the plurality of unit printing regions of the ink ribbon, so as to be joined to each other characterised in that the thermal printer further comprises a temperature sensor configured to measure a temperature of the thermal head; and a temperature-and-humidity sensor configured to measure a temperature and a humidity of an inside of the thermal printer, wherein the seam shape calculator calculates a coloring property of the ink (12aa to 12ac) that has been thermally transferred onto the printing medium, on the basis of the temperature of the thermal head, measured by the temperature sensor, and on the basis of the temperature and humidity of the inside of the thermal printer, measured by the temperature-and-humidity sensor, and the seam shape calculator determines the position and shape of the seam on the basis of the coloring property and a gradation component of the panoramic image.