What is the SMC file format?
Files with the .smc extension store Super Nintendo game ROM images. The name of the extension is derived from Super MagiCom, a cartridge-copying device manufactured by Front Fareast Industrial and one of the most popular ROM-dumping tools of its era. The copier read data from cartridges and saved it in .smc files; for multi-cartridge games, additional .smc files with an appended .001, .002 and similar suffix were generated. Each cartridge stored a single game. A distinctive technical detail is the optional 512-byte copier header prepended before the raw ROM data - emulators detect it by checking whether the file size is a multiple of 32 KB plus 512 bytes and automatically skip it. The SNES internal game header sits at offset 0x7FC0 (LoROM) or 0xFFC0 (HiROM) within the cartridge data; an interchangeable variant, .sfc, uses the identical ROM data but omits this copier header. Similar copier dump formats include .fig (Figaro copier) and .swc (Super Wild Card).
.smc files are chiefly used by SNES emulators (SNES stands for Super Nintendo Entertainment System). SNES emulators are available for desktop PC (Windows, macOS or Linux) and can be used to play SNES games saved in .smc files. Such emulators support various controllers and display modes to recreate the original experience as closely as possible. Mobile versions are also available for Android and iOS. The most popular SNES emulators that support .smc are:
- Snes9x (Windows, macOS, Linux, Android)
- RetroArch (Windows, macOS, Linux, Android, iOS)
- bsnes / higan (Windows, macOS, Linux)
- OpenEmu (macOS)
- Snes9x EX+ (Android)
- Delta (iOS)
.smc game images were used to distribute pirated games, although the format was designed for backing up game ROMs in case of cartridge data loss or damage, or private sharing of games with other users. In Japan all tools that allowed copying game ROMs were referred to as magicoms - magic computers.
Security & safety
RISK: MEDIUMThe ROM data itself is inert game code that only runs inside an emulator, but two real concerns apply. Legal: downloading ROMs of games you don't own is copyright infringement in most countries - the lawful path is dumping your own cartridges or playing homebrew. Source safety: 'ROM sites' are riddled with ads, fake download buttons and bundled malware, and old emulators (notably ZSNES) have parsing vulnerabilities - use a current, accurate emulator (Snes9x, RetroArch, bsnes) and avoid sketchy download portals.
Format details
in a nutshellPrograms that open SMC files
Technical details
deep spec| File structure | Raw cartridge ROM dump, optionally preceded by a 512-byte copier header prepended by the Super Magicom hardware |
| Copier header size | 512 bytes; presence detected by checking whether file size mod 1,024 equals 512 (total size is a multiple of 32 KB plus 512 bytes) |
| SNES internal header - LoROM offset | 0x7FC0 within the ROM data; contains game title, ROM type, size byte, and checksum |
| SNES internal header - HiROM offset | 0xFFC0 within the ROM data; used for larger cartridges with high-memory address mapping |
| Game title field | 21-byte zero-padded ASCII string stored at the start of the SNES internal header |
| ROM integrity checksum | 2-byte checksum and 2-byte bitwise complement stored in the SNES header; used by emulators to detect corrupt or overdumped ROMs |
| ROM mapping modes | LoROM, HiROM, ExLoROM, ExHiROM - declared via a single byte at SNES header offset +0x25 |
| Typical file sizes | 256 KB to 6 MB, mirroring actual SNES cartridge ROM capacities (256 Kbit to 48 Mbit) |
| File signature (magic bytes) | None - no fixed signature; format identified heuristically by file size pattern and SNES internal header checksum validation |
| Multi-part file naming | Multi-cartridge dumps produce companion files named with .001, .002 and similar suffixes appended after the .smc base name |
| Companion save file | In-game SRAM backup stored in a separate .srm file sharing the same base name, written by the emulator at runtime |
| MIME type | application/octet-stream |
| CPU architecture | WDC 65C816 (16-bit); the .smc ROM data is a direct memory image of the cartridge address space as seen by this CPU |
| Origin hardware | Super Magicom copier device by Front Fareast Industrial (Taiwan, early 1990s); the .smc format was subsequently adopted as a de facto community standard across multiple copier brands |
| Emulator header handling | Snes9x, RetroArch, bsnes and most modern emulators automatically detect and strip the 512-byte copier header before loading the ROM |
| Released | early-mid 1990s (Super Magicom / copier era) |
| Specification | snes.nesdev.org |
SMC conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about SMC files.