What are the secret achievements in Super Meat Boy?

Super Meat Boy has just been updated with new achievements, and though they are listed on the steam achievements page, they have no accompanying text on how to unlock them.\

The original secret achievements, the so-called cryptic, glitched achievements have already been identified elsewhere on this site.

  • What are the cryptic Steam Super Meat Boy achievements and what do the names mean?
  • What do those different symbols on achievements mean?
  • How do I achieve “Smash TV”?
  • Which achievements are missable in Batman: Arkham City?
  • Where is the Portrait of a Lady achievement?
  • What bonuses does a “deity” level AI get and how do I deal with them?
  • Some, such as the “Rare, Medium, Medium Well, and Well Done” achievements seem similar to the “Medium Rare” achievement (added for the steam summer camp event).

    Others, such as the “Well look at you!”, “Seneca Falls”, and the “Suffragette” achievement also have no unlock text, and they do not appear to be similar to existing achievements, either.

    What do I have to do to earn these achievements?

  • Statistics refresh rate
  • Is it possible to complete “Pieces of the Past” after killing everyone in Dawnstar?
  • Black Mesa achievements
  • How to make Steam not count some games towards “Avg. Game Completion Rate”?
  • Diablo 3 conversation achievement from Merchants “Sales and tales”
  • Where are the cheapest garages and apartments in GTA Online?
  • 2 Solutions collect form web for “What are the secret achievements in Super Meat Boy?”

    The update notes say:

    • Added 4 more achievements along the same lines as the “Medium Rare” achievement added last week
    • Renamed “Medium Rare” achievement to “Medium Well”

    Since they are along the same lines as the previous achievement, they mean the player should complete both the light world and the dark world of a chapter, and the sum of the best times for that chapter should be lower than some threshold. Here are the descriptions of each one:

    • Rare – Spend as little time as possible in The Forest (around 320 seconds)
    • Medium Rare – Spend as little time as possible in The Hospital (around 430 or 460 or 490 seconds)
    • Medium – Spend as little time as possible in The Salt Factory (around 570 seconds)
    • Medium Well – Spend as little time as possible in Hell (around 500 or 550 seconds)
    • Well Done – Spend as little time as possible in The Rapture (around 740 seconds or more)

    About the old secret achievements:

    • Suffragette – Complete the light world of the Cotton Alley
    • Seneca Falls – Complete the dark world of the Cotton Alley
    • Well look at you! – Input the petaphile code to play with Tofu Boy


    • Super Meat Boy Wikia
    • SteamStats
    • Steam Forums

    Note about the times for the achievements: Many people use Super Meat Boy Stats (old repo at Google Code, new repo at GitHub) program to find out how much time they have spent on each chapter. However, the reported total time is not exactly accurate because “it counts 15 secs per completed warp zone”, and people posting their total times didn’t mention if the warp zone time has been subtracted or not. For this reason, the times I posted above might be quite inaccurate.

    I’m a little late to the party, but I’ve been working on these achievements. I use a mac most of the time, and I was having a hard time getting Super Meat Boy Stats to work under osx, so I wrote a little python script to get my total times for each area. I thought someone else might also find this useful:

    http://pastebin.com/DmsHfPhU (and also copied below)

    Use: python %script% %savegame.dat%


    Here is my best guesses for each time, based on my own experience:

    • Rare: 265
    • Medium Rare: 445
    • Medium: 515
    • Medium Well: 500
    • Well Done: 690-695 (I went from 697 to 688 when I got this)

    I also updated the script to not include warp times, since people’ve said they’ve gotten these without even unlocking all the warps.

    from sys import argv
    import struct
    totalDeathsOffset = 8
    chapterInfoStart = 28
    chapterInfoOffset = 12
    levelOffset = 12
    levelStart = 0x88
    TheGuyWarpZoneStart = 0xF10
    ZoneNames = ['Forest      ', 
         'Hospital    ', 
         'Salt Factor ', 
         'Hell        ', 
         'Rapture     ', 
         'The End     ', 
         'Cotton Alley']
    def maxLevelCount(zone):
        if zone != 5:
            return 20
            return 5
    def maxWarpCount(zone):
        if zone < 5:
            return 12
            return 0
    def toInt32(lst,offset):
        s = lst[offset:offset+4]
        return struct.unpack("<L",s)[0]
    def getLevelInfo(save, zone, level, kind):
        offset = 0
        if kind == 2 and zone == 4 and level >= 3 and level <= 5:
            offset = TheGuyWarpZoneStart + (level - 3)*levelOffset
            chapterOffset = 0
            for i in range(zone):
                chapterOffset += (maxLevelCount(i)*2+maxWarpCount(i))*levelOffset
            levelOffset2 = (level + maxLevelCount(zone) * kind)*levelOffset
            offset = levelStart + chapterOffset + levelOffset2
        time = struct.unpack("<f", save[offset:offset+4])[0]
        return time
    def getLevels(save, zone, kind):
        levels = []
        if kind < 2:
            for i in range(maxLevelCount(zone)):
                levels.append(getLevelInfo(save, zone, i, kind))
            for i in range(maxWarpCount(zone)):
                levels.append(getLevelInfo(save, zone, i, kind))
        return levels
    def readChapter(save, n):
        offset = chapterInfoStart + (n * chapterInfoOffset)
        data = struct.unpack("bbbbb", save[offset:offset+5])
        lightLevels = getLevels(save, n, 0)
        darkLevels = getLevels(save, n, 1)
        warpLevels = getLevels(save, n, 2)
        #print n, data
        #print lightLevels
        #print darkLevels
        #print warpLevels
        print "Total Time (", ZoneNames[n] ,"): ", sum(lightLevels)+ sum(darkLevels) #+sum(warpLevels)
    def readstats(spath):
        blist = []
        with open(spath, "rb") as f:
            blist = f.read()
        totalDeaths = toInt32(blist, totalDeathsOffset)
        print "Total Deaths:", totalDeaths
        chapters = []
        for i in range(7):
            chapters.append(readChapter(blist, i))
    def main():
        if len(argv) > 1:
    if __name__ == "__main__":
    We love Playing Games, especially Video Games.