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 0×80 bytes here it comes the standard JPEG header, well… why not try and trash the byted before?!?!
… And voila! :-D

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