{"id":13342,"date":"2024-03-15T06:52:24","date_gmt":"2024-03-15T06:52:24","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/"},"modified":"2025-08-05T16:49:00","modified_gmt":"2025-08-05T16:49:00","slug":"combine-multiple-images-into-one-image-using-base64-encoding","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/","title":{"rendered":"Combine Images with Base64 Encoding"},"content":{"rendered":"<p>To combine multiple images into one image, you can achieve this by following these steps using base64 encoding and decoding.<\/p>\n<ol>\n<li>Read multiple images into memory separately in binary format.<\/li>\n<li>Encode each image in base64 to obtain the corresponding base64 string.<\/li>\n<li>Concatenate multiple base64 strings together, using a newline or another character for separation.<\/li>\n<li>Decode the concatenated base64 string into binary data.<\/li>\n<li>Save the decoded binary data as a new image file.<\/li>\n<\/ol>\n<p>Here is an example Python code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> base64\r\n<span class=\"hljs-keyword\">from<\/span> PIL <span class=\"hljs-keyword\">import<\/span> Image\r\n\r\n<span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">combine_images<\/span>(<span class=\"hljs-params\">image_paths<\/span>):\r\n    images = []\r\n    max_width = <span class=\"hljs-number\">0<\/span>\r\n    total_height = <span class=\"hljs-number\">0<\/span>\r\n\r\n    <span class=\"hljs-comment\"># \u8bfb\u53d6\u56fe\u7247\u5e76\u8ba1\u7b97\u5408\u6210\u540e\u7684\u56fe\u7247\u5927\u5c0f<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> image_path <span class=\"hljs-keyword\">in<\/span> image_paths:\r\n        image = Image.<span class=\"hljs-built_in\">open<\/span>(image_path)\r\n        images.append(image)\r\n        max_width = <span class=\"hljs-built_in\">max<\/span>(max_width, image.width)\r\n        total_height += image.height\r\n\r\n    <span class=\"hljs-comment\"># \u521b\u5efa\u5408\u6210\u540e\u7684\u7a7a\u767d\u56fe\u7247<\/span>\r\n    combined_image = Image.new(<span class=\"hljs-string\">'RGB'<\/span>, (max_width, total_height), <span class=\"hljs-string\">'white'<\/span>)\r\n\r\n    <span class=\"hljs-comment\"># \u5c06\u6bcf\u5f20\u56fe\u7247\u7c98\u8d34\u5230\u5408\u6210\u56fe\u7247\u4e0a<\/span>\r\n    y_offset = <span class=\"hljs-number\">0<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> image <span class=\"hljs-keyword\">in<\/span> images:\r\n        combined_image.paste(image, (<span class=\"hljs-number\">0<\/span>, y_offset))\r\n        y_offset += image.height\r\n\r\n    <span class=\"hljs-comment\"># \u5c06\u5408\u6210\u56fe\u7247\u8f6c\u6362\u4e3a base64 \u5b57\u7b26\u4e32<\/span>\r\n    buffered = BytesIO()\r\n    combined_image.save(buffered, <span class=\"hljs-built_in\">format<\/span>=<span class=\"hljs-string\">'PNG'<\/span>)\r\n    base64_image = base64.b64encode(buffered.getvalue()).decode(<span class=\"hljs-string\">'utf-8'<\/span>)\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> base64_image\r\n\r\n<span class=\"hljs-comment\"># \u793a\u4f8b\u4f7f\u7528<\/span>\r\nimage_paths = [<span class=\"hljs-string\">'image1.jpg'<\/span>, <span class=\"hljs-string\">'image2.jpg'<\/span>, <span class=\"hljs-string\">'image3.jpg'<\/span>]\r\ncombined_image_base64 = combine_images(image_paths)\r\n\r\n<span class=\"hljs-comment\"># \u5c06\u5408\u6210\u540e\u7684\u56fe\u7247\u4fdd\u5b58\u4e3a\u6587\u4ef6<\/span>\r\n<span class=\"hljs-keyword\">with<\/span> <span class=\"hljs-built_in\">open<\/span>(<span class=\"hljs-string\">'combined_image.png'<\/span>, <span class=\"hljs-string\">'wb'<\/span>) <span class=\"hljs-keyword\">as<\/span> f:\r\n    f.write(base64.b64decode(combined_image_base64))\r\n<\/code><\/pre>\n<p>Please note that the example code utilizes the PIL library (Python Imaging Library) in Python to handle images. You need to install this library by running pip install pillow.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To combine multiple images into one image, you can achieve this by following these steps using base64 encoding and decoding. Read multiple images into memory separately in binary format. Encode each image in base64 to obtain the corresponding base64 string. Concatenate multiple base64 strings together, using a newline or another character for separation. Decode the [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[4512,15788,2369,15787,72],"class_list":["post-13342","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-base64-encoding","tag-combine-images","tag-image-processing","tag-merge-images","tag-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Combine Images with Base64 Encoding - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn to merge multiple images into one using Base64 encoding. Step-by-step guide with Python code.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Combine Images with Base64 Encoding\" \/>\n<meta property=\"og:description\" content=\"Learn to merge multiple images into one using Base64 encoding. Step-by-step guide with Python code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T06:52:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-05T16:49:00+00:00\" \/>\n<meta name=\"author\" content=\"Benjamin Taylor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin Taylor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/\"},\"author\":{\"name\":\"Benjamin Taylor\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\"},\"headline\":\"Combine Images with Base64 Encoding\",\"datePublished\":\"2024-03-15T06:52:24+00:00\",\"dateModified\":\"2025-08-05T16:49:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/\"},\"wordCount\":111,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"base64 encoding\",\"combine images\",\"Image Processing\",\"merge images\",\"Python\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/\",\"name\":\"Combine Images with Base64 Encoding - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T06:52:24+00:00\",\"dateModified\":\"2025-08-05T16:49:00+00:00\",\"description\":\"Learn to merge multiple images into one using Base64 encoding. Step-by-step guide with Python code.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Combine Images with Base64 Encoding\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\",\"name\":\"Benjamin Taylor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"caption\":\"Benjamin Taylor\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Combine Images with Base64 Encoding - Blog - Silicon Cloud","description":"Learn to merge multiple images into one using Base64 encoding. Step-by-step guide with Python code.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/","og_locale":"en_US","og_type":"article","og_title":"Combine Images with Base64 Encoding","og_description":"Learn to merge multiple images into one using Base64 encoding. Step-by-step guide with Python code.","og_url":"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T06:52:24+00:00","article_modified_time":"2025-08-05T16:49:00+00:00","author":"Benjamin Taylor","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Benjamin Taylor","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/"},"author":{"name":"Benjamin Taylor","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9"},"headline":"Combine Images with Base64 Encoding","datePublished":"2024-03-15T06:52:24+00:00","dateModified":"2025-08-05T16:49:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/"},"wordCount":111,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["base64 encoding","combine images","Image Processing","merge images","Python"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/","url":"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/","name":"Combine Images with Base64 Encoding - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T06:52:24+00:00","dateModified":"2025-08-05T16:49:00+00:00","description":"Learn to merge multiple images into one using Base64 encoding. Step-by-step guide with Python code.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/combine-multiple-images-into-one-image-using-base64-encoding\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Combine Images with Base64 Encoding"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9","name":"Benjamin Taylor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","caption":"Benjamin Taylor"},"url":"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=13342"}],"version-history":[{"count":3,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13342\/revisions"}],"predecessor-version":[{"id":157307,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13342\/revisions\/157307"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=13342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=13342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=13342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}