{"id":3757,"date":"2025-12-30T17:16:31","date_gmt":"2025-12-30T21:16:31","guid":{"rendered":"https:\/\/patorjk.com\/blog\/?p=3757"},"modified":"2025-12-30T23:51:13","modified_gmt":"2025-12-31T03:51:13","slug":"image-glitcher-an-online-glitch-art-editor","status":"publish","type":"post","link":"https:\/\/patorjk.com\/blog\/2025\/12\/30\/image-glitcher-an-online-glitch-art-editor\/","title":{"rendered":"Image Glitcher: An online glitch art editor"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I&#8217;ve created a new app for this site that allows you to easily create glitch art: <a href=\"https:\/\/patorjk.com\/image-glitcher\/\">Image Glitcher<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s a simple tool that combines an image preview with a hex editor that has segment highlighting for jpeg images. In the future I hope to support highlighting for other formats too. The idea is that you can more intelligently make glitches in an image file when you know what you&#8217;re editing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I created a short video about the tool framed around the idea of what happens when you edit a jpeg in a text editor. You can watch the video below.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"What Happens if You Edit a JPEG With a Text Editor?\" width=\"474\" height=\"267\" src=\"https:\/\/www.youtube.com\/embed\/7aWFHn1wS1U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This video was a lot of fun to research. Weirdly the research phase has consistently been the most fun part of the video making process. Originally I was going to cover all of the main image formats in this video (jpeg, png, bmp, gif), but jpegs wound up being much more complex than I anticipated. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There&#8217;s also a lot of weirdness with the file type that I opted not to cover in the video (I wanted to keep things focused). For example, you&#8217;ll often hear that jpeg&#8217;s use the YCbCr color model (basically luminance + color), but that&#8217;s not mandated by the spec. It&#8217;s actually color space agnostic. You can actually create a jpeg where it internally stores the data as RGB values (though jpegs usually store the data in YCbCr). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You&#8217;ll also often read that the two most popular formats of jpeg &#8211; JFIF and EXIF &#8211; are incompatible with each other. This seemed really confusing to me until I saw the color coded segments in the editor. JFIF is determined by a JFIF APP segment following the SOI marker, and EXIF is determined by an EXIF APP segment following the SOI marker. Jpeg parsers should have little issue differentiating them. Though possibly even stranger, you don&#8217;t even need this segment in a jpeg. Wikipedia often strips it out. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anyway, there&#8217;s a lot of random info I left on the cutting room floor. Maybe one day I&#8217;ll work it into something else.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve created a new app for this site that allows you to easily create glitch art: Image Glitcher It&#8217;s a simple tool that combines an image preview with a hex editor that has segment highlighting for jpeg images. In the future I hope to support highlighting for other formats too. The idea is that you &hellip; <a href=\"https:\/\/patorjk.com\/blog\/2025\/12\/30\/image-glitcher-an-online-glitch-art-editor\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Image Glitcher: An online glitch art editor<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26,56],"tags":[],"class_list":["post-3757","post","type-post","status-publish","format-standard","hentry","category-web-apps","category-youtube"],"_links":{"self":[{"href":"https:\/\/patorjk.com\/blog\/wp-json\/wp\/v2\/posts\/3757","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/patorjk.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/patorjk.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/patorjk.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/patorjk.com\/blog\/wp-json\/wp\/v2\/comments?post=3757"}],"version-history":[{"count":2,"href":"https:\/\/patorjk.com\/blog\/wp-json\/wp\/v2\/posts\/3757\/revisions"}],"predecessor-version":[{"id":3780,"href":"https:\/\/patorjk.com\/blog\/wp-json\/wp\/v2\/posts\/3757\/revisions\/3780"}],"wp:attachment":[{"href":"https:\/\/patorjk.com\/blog\/wp-json\/wp\/v2\/media?parent=3757"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/patorjk.com\/blog\/wp-json\/wp\/v2\/categories?post=3757"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/patorjk.com\/blog\/wp-json\/wp\/v2\/tags?post=3757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}