Yes, they did it again!
Well I don’t really know exactly how come this happened: someone sais it’s because of a security uptate for Outlook, but I can assure you, I’m not using Outlook… I’m using Thunderbird.
And it’s not about the default Windows Fax Viewer, because I saved a couple of jpeg images and even some nice image editing software couldn’t figure out what that file was (I’m talking about Windows Paint, Corel Paint Shop Pro, and other stuff).


  • I received an email at our office with some nice new artwork, made on a Mac with Adobe something CS3
  • I saved the files
  • I tried to open them in any kind of imaging software (and yes, I tried GIMP!)
  • Finding that the file couldn’t be recognized I thiught it could be compressed or corrupted, so I opened it up on an hex editor and found strange header and footer data (namely i could recognize only the JPEG8BIM and Adobe Photoshop Machintosh strings
  • I googled around and mate 2+2: Apple is not compatible with Windows…

The strange thing is that even a soooo standard JPG file is modified under MacOSX (found that it could be because of the Mac Finder…)

Since after around 0x80 bytes here it comes the standard JPEG header, well… why not try and trash the byted before?!?!
… And voila! 😀

Well, it’s not very funny, cutting 128 bytes from every picture it comes from a Mac! So I made this nice command line utility for Windows users: StripMacHeader.
Please be aware that it doesn’t make a formally correct JPG file, as it doesn’t try to strip the garbage tail of the file: you will have to open the file after stripping and resave it, to have a real JPG file.


Related posts

Related External Links


Not useful/interestingUseful/Interesting (+1 rating, 1 votes)
Loading ... Loading ...


  • Jack Zelig says:

    This worked great for me and gave me the chance to impress a client – “What, you can’t open some jpegs? Just send them to me and I’ll sort it out”.
    Thanks a lot!

  • Daniel Faber says:

    Thanks, this helped me too. Using linux, I striped the first 128 Bytes with

    dd if=input.jpg of=output.jpg bs=128 skip=1

    and recreated a slightly smaller JPG file with

    jpegtran -optimize input.jpg > output.jpg

Leave a Reply