How to open any file
1378 extensions, taken from the FileExtensions field that publishers declare in their installer manifests. The number next to each one is how many indexed programs register to open it.
Full guides
18 formatsWritten for the formats people actually get stuck on, with the step-by-step for Windows and macOS and the specific reason each one refuses to open.
- .rarRAR archiveA .rar file is a compressed archive. On Windows 11 (23H2 or newer) and modern macOS you can open it without installing anything; on Windows 10 and earlier you need an archiver such as 7-Zip.
- .zipZIP archiveEvery version of Windows and macOS opens .zip files natively. Double-click it. If that fails, the archive is either corrupt, password-protected, or larger than the old 4 GB format limit.
- .7z7-Zip archiveA .7z file is a compressed archive made by 7-Zip. Windows 11 23H2 and newer open it natively; on anything older, install 7-Zip or NanaZip.
- .jarJava archiveA .jar file is a Java program packaged as an archive. To run it you need a Java runtime installed; to look inside it, rename it to .zip and extract it, because a JAR is a ZIP file.
- .datGeneric data fileThere is no single .dat format. The extension just means "data", so the answer depends entirely on which program made it. If it arrived as an email attachment called winmail.dat, it is an Outlook formatting wrapper and needs a TNEF reader.
- .jsonJSON data fileA .json file is plain text. Any text editor or web browser opens it. If it appears as one unreadable line, it is minified and you need an editor that reformats it.
- .csvComma-separated valuesA .csv file is a plain-text table. Any spreadsheet opens it, but double-clicking it in Excel silently corrupts leading zeros, long numbers and dates. Import it instead of opening it.
- .heicHigh Efficiency Image ContainerA .heic file is the photo format iPhones use by default. macOS opens it natively. Windows needs the free HEIF Image Extensions, and historically also a paid HEVC codec, which is why so many people convert instead.
- .epubElectronic publicationAn .epub file is an ebook. Calibre opens it on any desktop, and SumatraPDF is a lighter option on Windows. If it refuses to open, the book is DRM-protected and tied to the store you bought it from.
- .binBinary fileA .bin file is raw binary data with no single meaning. Most commonly it is a disc image that pairs with a .cue file, in which case mount it or open it with an archiver.
- .isoISO disc imageAn .iso file is a complete disc image. Windows 8 and later mount it with a right-click, and macOS mounts it on double-click. No software is needed just to see what is inside.
- .torrentBitTorrent metainfo fileA .torrent file contains no content of its own. It is a small index of what to download and where to find peers, and it needs a BitTorrent client such as qBittorrent or Transmission.
- .emlEmail message fileAn .eml file is a single saved email in plain MIME text. Thunderbird and Outlook open it directly, and in a pinch you can rename it to .txt and read it in any editor.
- .pagesApple Pages documentA .pages file is an Apple Pages document with no official Windows support. The fastest route is iCloud.com, which is free and needs no Mac; the offline trick is to rename the file to .zip and extract the PDF preview inside.
- .xmlXML documentAn .xml file is plain text. Drag it into any browser to see it as a collapsible tree, or open it in a code editor to work with it.
- .mkvMatroska videoAn .mkv file is a video container. VLC plays it on any platform with nothing else installed. If it opens but shows no picture or no sound, the container is fine and a codec inside it is not supported.
- .tifTagged Image File FormatA .tif or .tiff file is a high-quality image. Windows Photos and macOS Preview both open it. If it fails, the file is probably a multi-page scan or uses a compression variant that basic viewers do not read.
- .epsEncapsulated PostScriptAn .eps file is a vector graphic, usually a logo or print artwork. Inkscape opens and edits it for free; IrfanView and XnView MP will display it if you only need to look.
Opened by two or more programs
- .pdf15
- .html12
- .htm11
- .shtml10
- .xhtml10
- .mp39
- .svg9
- .webp9
- .flac8
- .ogg8
- .wav8
- .xht8
- .m4a7
- .aif6
- .ape6
- .cda6
- .cue6
- .gz6
- .jpg6
- .m4b6
- .mp26
- .mp46
- .png6
- .tak6
- .txt6
- .wma6
- .wv6
- .aac5
- .ac35
- .aifc5
- .aiff5
- .au5
- .bz25
- .cab5
- .dts5
- .gif5
- .jpeg5
- .m3u5
- .m3u85
- .mid5
- .mpc5
- .mpeg5
- .mpg5
- .opus5
- .pls5
- .ps5
- .rmi5
- .snd5
- .spx5
- .tar5
- .tbz5
- .tgz5
- .xz5
- .0014
- .arj4
- .asf4
- .asx4
- .avi4
- .avif4
- .bmp4
- .crx4
- .djvu4
- .emf4
- .exr4
- .fb24
- .flv4
- .java4
- .lha4
- .lzh4
- .lzma4
- .m4v4
- .mka4
- .mov4
- .mpe4
- .oga4
- .pbm4
- .pgm4
- .ppm4
- .psd4
- .raw4
- .swf4
- .taz4
- .tbz24
- .tga4
- .tiff4
- .tta4
- .txz4
- .webm4
- .wim4
- .wmf4
- .wmv4
- .z4
- .zipx4
- .zst4
- .3g23
- .3ga3
- .3gp3
- .3gp23
- .3gpp3
- .amr3
- .amv3
- .aob3
- .apl3
- .bik3
- .cb73
- .cbr3
- .cbz3
- .dav3
- .dcm3
- .dds3
- .deb3
- .dib3
- .divx3
- .doc3
- .docm3
- .docx3
- .dtshd3
- .dtsma3
- .dxf3
- .evo3
- .f4v3
- .flc3
- .fli3
- .ico3
- .ifo3
- .img3
- .j2k3
- .jfif3
- .jp23
- .jpc3
- .jpe3
- .js3
- .jxl3
- .jxr3
- .lz3
- .m1v3
- .m2t3
- .m2ts3
- .m2v3
- .m4r3
- .md3
- .midi3
- .mng3
- .mp13
- .mp2v3
- .mp4v3
- .mpa3
- .mpv23
- .mts3
- .mxf3
- .odt3
- .ofr3
- .ogm3
- .ogv3
- .pcd3
- .pcx3
- .pdb3
- .py3
- .ra3
- .ram3
- .ras3
- .rec3
- .rle3
- .rm3
- .rmvb3
- .rpm3
- .rtf3
- .sti3
- .tlz3
- .tp3
- .tpz3
- .ts3
- .tzst3
- .vhd3
- .vob3
- .w643
- .wax3
- .wdp3
- .wm3
- .wmp3
- .wvx3
- .xbm3
- .xpm3
- .xps3
- .2642
- .ace2
- .acr2
- .ai2
- .alac2
- .alias2
- .ani2
- .apfs2
- .apk2
- .apng2
- .arc2
- .asar2
- .awb2
- .azw2
- .bdmv2
- .br2
- .bz2
- .bzip22
- .caf2
- .cdr2
- .cgm2
- .chm2
- .cin2
- .class2
- .clp2
- .conf2
- .cpio2
- .cr22
- .cr32
- .crw2
- .cs12
- .css2
- .ct2
- .cur2
- .dcx2
- .dis2
- .djv2
- .dmg2
- .dot2
- .dotm2
- .dotx2
- .dpx2
- .dsa2
- .dsm2
- .dss2
- .dsv2
- .dv2
- .dvr-ms2
- .eac32
- .elf2
- .erf2
- .esd2
- .fat2
- .fdf2
- .flic2
- .gcm2
- .gitattributes2
- .gitignore2
- .gitmodules2
- .go2
- .gzip2
- .hdmov2
- .hdr2
- .hfs2
- .hpgl2
- .ia2
- .ics2
- .iff2
- .ipa2
- .ipr2
- .it2
- .ivf2
- .j2c2
- .jls2
- .jng2
- .jpf2
- .jpx2
- .jsp2
- .lbm2
- .log2
- .lst2
- .m1a2
- .m2a2
- .m2p2
- .m4p2
- .markdown2
- .mhtml2
- .miff2
- .mk3d2
- .mlp2
- .mobi2
- .mod2
- .mpcpl2
- .mpls2
- .mpv42
- .mtv2
- .ntfs2
- .odp2
- .ods2
- .ofs2
- .ogx2
- .opdownload2
- .opf2
- .otp2
- .ots2
- .ott2
- .oxps2
- .pam2
- .pct2
- .pdx2
- .pea2
- .pfm2
- .pnm2
- .pot2
- .potm2
- .potx2
- .pps2
- .ppt2
- .pptm2
- .pptx2
- .prc2
- .ps22
- .psp2
- .pva2
- .pyw2
- .qoi2
- .rdc2
- .rdf2
- .rgb2
- .rmm2
- .rs2
- .rsrc2
- .rtp2
- .s3m2
- .sfd2
- .sgi2
- .sh2
- .sid2
- .smk2
- .sql2
- .squashfs2
- .ssif2
- .sub2
- .sun2
- .swm2
- .syn2
- .thd2
- .trp2
- .ttf2
- .udf2
- .uu2
- .uue2
- .vdi2
- .vhdx2
- .vmdk2
- .vpy2
- .vst2
- .wave2
- .wbmp2
- .wdseml2
- .wtv2
- .xar2
- .xba2
- .xcf2
- .xcs2
- .xdl2
- .xdp2
- .xfdf2
- .xls2
- .xlsb2
- .xlsm2
- .xlsx2
- .xltm2
- .xltx2
- .xm2
- .xspf2
- .xxe2
- .zpaq2
- .zstd2
Opened by one program
- .123
- .265
- .3fr
- .5vw
- .602
- .669
- .8svx
- .a52
- .aa
- .aaui
- .aax
- .abr
- .acbm
- .acp
- .action
- .adgsettings
- .adml
- .admx
- .adoc
- .adp
- .adt
- .adts
- .aes
- .afc
- .aff
- .afm
- .ahk
- .als
- .alz
- .amb
- .anr
- .apache
- .apc
- .api
- .api_description
- .apkg
- .appfile
- .applescript
- .appstaterc
- .apx
- .ar4w
- .arguments
- .arw
- .asa
- .asc
- .ash
- .asm
- .asp
- .atc
- .attributes
- .au3
- .audtun
- .aup
- .aup3
- .avs
- .avw
- .azw1
- .azw3
- .b3d
- .b4s
- .b64
- .babelrc
- .bash
- .bash_profile
- .bashrc
- .bat
- .bau
- .bay
- .berksfile
- .bfc
- .bfr
- .bfs
- .bga
- .bh
- .bib
- .bibtex
- .bip
- .blacklist
- .blend
- .blk
- .blp
- .bm
- .bml
- .bmq
- .bnf
- .book
- .bootstrap
- .bpdx
- .bpx
- .brewfile
- .bsd
- .bsh
- .bstk
- .build
- .builder
- .buildinfo
- .bundling
- .bw
- .bwf
- .bzl
- .c
- .cache_version
- .cal
- .cals
- .cam
- .cap
- .cbc
- .cbt
- .ccd
- .cdda
- .cdi
- .cdp
- .cdpresource
- .cdxml
- .cer
- .certificate
- .cfg
- .cgi
- .ch
- .chd
- .chs
- .cine
- .ciso
- .cit
- .cjs
- .classpath
- .clisp
- .clj
- .cljs
- .clo
- .cloe
- .cls
- .cmd
- .cmt
- .cmtx
- .cmx
- .cnf
- .code-snippets
- .colors
- .comments
- .commit_editmsg
- .components
- .configuration
- .coveragerc
- .cpdf
- .cr2_original
- .cramfs
- .crf
- .cs
- .csl
- .cso
- .ctb
- .cti
- .cts
- .cube
- .cuecfg
- .cuelibrary
- .cueprofile
- .cueprofiledata
- .cueprofileorder
- .cursor
- .cxx
- .d
- .da7
- .dash
- .db_
- .dbf
- .dc2
- .dc3
- .dcr
- .debugtarget
- .den
- .deny
- .desktop
- .dff
- .dfm
- .dgml
- .di
- .diagpkg
- .dic
- .dicom
- .dif
- .dif-f
- .dist
- .diz
- .dl
- .dml
- .dng
- .docxf
- .dpr
- .drc
- .dsf
- .dsw
- .dtd
- .dtml
- .dtswav
- .dump
- .dvd
- .dvr
- .dwg
- .dwt
- .e4xmi
- .ec3
- .ecf
- .eclipseproduct
- .ecw
- .editorconfig
- .effect
- .efu
- .egg
- .ei
- .eidi
- .ems
- .emz
- .enc
- .ent
- .epi
- .ept
- .erb
- .erbsql
- .erl
- .err
- .escript
- .esi
- .esk
- .eslintignore
- .etag
- .exclude
- .f90
- .fastfile
- .fb2k-component
- .fb2z
- .fcdt
- .fcgi
- .fdc
- .fdd
- .fds
- .fff
- .ffpreset
- .fig
- .files
- .filters
- .fingerprint
- .fit
- .fits
- .fla
- .flow
- .fodg
- .fodp
- .fods
- .fodt
- .forge-meta
- .forms
- .fpl
- .freebsd
- .fsc
- .fsh
- .fth
- .ftl
- .fts
- .fx
- .fx3
- .fxd
- .fxm
- .fxo
- .fxr
- .fxs
- .g3
- .g3n
- .gbr
- .gcc
- .gcz
- .gdl
- .gdntool
- .gemspec
- .gi
- .giff
- .git
- .gitconfig
- .gitkeep
- .gitlog
- .glade
- .global
- .glsl
- .gnumakefile
- .gol
- .gp4
- .gpd
- .gpl
- .gplv2
- .gplv3
- .gpr
- .gradle
- .greenshot
- .grey
- .groovy
- .groups
- .gry
- .gs
- .gs.xz
- .gs.zst
- .gthr
- .guardfile
- .guid
- .gv
- .gvi
- .gvy
- .gxanimations
- .gxf
- .h
- .h16
- .h264
- .h265
- .haml
- .har
- .hbs
- .hdp
- .hdri
- .hei
- .heif
- .hej2
- .hevc
- .hfsx
- .hg
- .hgl
- .hif
- .hlsl
- .hm10
- .hosts
- .hp
- .hp1
- .hp2
- .hpg
- .hpgl2
- .hpp
- .hrl
- .hs
- .hsi
- .hwp
- .i00
- .ibook
- .ibooks
- .ibq
- .icl
- .icns
- .icon
- .iconpack
- .idl
- .idx
- .ief
- .ifx
- .ilbm
- .ima
- .immodules
- .imp
- .infected
- .info
- .ini
- .inl
- .inputrc
- .ins
- .insp
- .int
- .inta
- .ipfix
- .ipg
- .ipl
- .ipp
- .ipset
- .ipsw
- .iqy
- .irbrc
- .iris
- .irx
- .isi
- .ismv
- .isz
- .itb
- .itdb
- .ite
- .itg
- .itl
- .itlp
- .itls
- .itms
- .itpc
- .ivb
- .iw44
- .j
- .j6i
- .jbf
- .jbr
- .jbuilder
- .jenkinsfile
- .jif
- .jnlp
- .jpm
- .jpt
- .jsonc
- .jst
- .jsx
- .k25
- .kar
- .kc2
- .kdb
- .kdbx
- .kdc
- .kdenlive
- .keep
- .key
- .key_
- .keys
- .klc
- .kmn
- .knsrc
- .kpp
- .kqp
- .kra
- .kro
- .krz
- .kt
- .ktb
- .kts
- .l
- .la
- .lastbuildstate
- .layout
- .lcap
- .lce
- .lcl
- .ldif
- .lff
- .lhs
- .license
- .list
- .liz
- .lm
- .lmd
- .lng
- .loaders
- .loc
- .local
- .lpaq
- .lrf
- .lrx
- .lsm
- .lsp
- .lsrules
- .ltx
- .lua
- .lwp
- .lz4
- .lz5
- .lzma2
- .m
- .m4
- .m5p
- .mac
- .mailmap
- .mak
- .make
- .makefile
- .man
- .manifest
- .mappings
- .marc
- .markdn
- .mbm
- .mcf
- .md5
- .mdf
- .mds
- .mef
- .menu
- .merge_msg
- .met
- .metainfo
- .mf
- .mft
- .mftx
- .mht
- .mif
- .mil
- .mime
- .min
- .mingw
- .minix
- .minttyrc
- .mjs
- .mk
- .ml
- .mli
- .mll
- .mlt
- .mml
- .mo3
- .moba
- .mods
- .modules
- .mof
- .mos
- .moz_log
- .mpeg1
- .mpeg2
- .mpeg4
- .mpga
- .mpl
- .mplog
- .mpo
- .mpp
- .mrc
- .mrw
- .msk
- .mt
- .mtl
- .mtm
- .mtxcfg
- .mus
- .myscm
- .nanorc
- .ncu-proj
- .ncx
- .nef
- .nef_original
- .nemo_action
- .nmake
- .note
- .notifyrc
- .nrg
- .nrw
- .nsh
- .nsv
- .ntar
- .numbers
- .nupkg
- .nuspec
- .nut
- .nuv
- .nvmrc
- .nvx
- .ny
- .nycrc
- .obt
- .obu
- .ocamlmakefile
- .odb
- .odf
- .odg
- .odm
- .officeui
- .oil
- .ols
- .oma
- .openmsx
- .opml
- .ora
- .orf
- .orf_original
- .ori
- .osf
- .otg
- .oth
- .otm
- .out
- .ova
- .overridetasks
- .ovf
- .ovpn
- .oxt
- .p11-kit
- .p7
- .paq
- .pat
- .patch
- .patchfreq
- .patterns
- .pbxproj
- .pcap
- .pcapng
- .pcast
- .pcc
- .pchtxt
- .pdfxml
- .pdi
- .pdn
- .pef
- .pfi
- .pfr
- .php
- .phps
- .phpt
- .phtml
- .pic
- .picio
- .pict
- .pict2
- .pix
- .pixar
- .pkgdef
- .pklg
- .pkt
- .pl
- .platform
- .pld
- .plist
- .plo
- .plt
- .pm
- .pma
- .pmap
- .pmc
- .pml
- .pmp
- .pnach
- .pobi
- .podfile
- .podspec
- .policy
- .ppdf
- .ppk
- .ppma
- .ppsm
- .ppsx
- .pr
- .prefs
- .prettierrc
- .prn
- .profile
- .project
- .propdesc
- .properties
- .proto
- .pryrc
- .ps1
- .ps1xml
- .ps3
- .psb
- .psf
- .pspbrush
- .pspframe
- .pspimage
- .pspmask
- .psptube
- .pth
- .pub
- .pwp
- .pxa
- .pxb
- .pxd
- .pxi
- .pxn
- .pxr
- .pxs
- .py3
- .pyc
- .pyd
- .pyf
- .pyi
- .pyo
- .python_history
- .pyx
- .pyz
- .pyzw
- .qcp
- .qm
- .qml
- .qmltypes
- .qph
- .qrt
- .qtcurve
- .qth
- .qti
- .qtif
- .qtk
- .qtl
- .r
- .rabl
- .raf
- .rails
- .rake
- .rakefile
- .rast
- .rawraw
- .rc
- .rd
- .rdb
- .readme
- .registry
- .rels
- .res
- .resjson
- .rest
- .resw
- .rev
- .rex
- .rf5
- .rf64
- .rgba
- .rgs
- .rh
- .rhtml
- .ris
- .rjs
- .rl4
- .rl8
- .rla
- .rlb
- .rmf
- .rmp
- .rnc
- .rng
- .roff
- .roq
- .rp
- .rpbm
- .rpf
- .rpgm
- .rpl
- .rpnm
- .rpo
- .rppm
- .rprofile
- .rpy
- .rsb
- .rsc
- .rsp
- .rst
- .rt
- .rules
- .ruleset
- .running
- .rw2
- .rwl
- .rxml
- .sam
- .sarif
- .sbt
- .sc
- .scala
- .scanfile
- .scap
- .sccd
- .schema
- .scm
- .sconscript
- .scr
- .script
- .scss
- .sct
- .sdg
- .sdp
- .sdv
- .secstore
- .security
- .sed
- .seq
- .sequ
- .settings
- .sff
- .sfw
- .sh3d
- .sh3f
- .sh3l
- .sh3p
- .sh3t
- .sh3x
- .sha1
- .sha256
- .sha512
- .shim
- .si
- .signatures
- .sj1
- .slackbuild
- .slangp
- .slk
- .smi
- .smil
- .snakefile
- .snapfile
- .snoop
- .snr
- .sob
- .soc
- .sod
- .soe
- .sog
- .soh
- .sop
- .sparse-checkout
- .spec
- .sr
- .sr2
- .src
- .srf
- .srt
- .srw
- .stacktags
- .status
- .stc
- .std
- .stdlib
- .stignore
- .stp
- .str
- .strings
- .stw
- .sty
- .styles
- .suniff
- .svgz
- .svx
- .swap
- .swidtag
- .sxc
- .sxd
- .sxg
- .sxi
- .sxm
- .sxw
- .syc
- .symbols
- .synu
- .sys
- .t
- .taac
- .tag
- .tap
- .targa
- .targets
- .tasks
- .tbres
- .tbx
- .tcc
- .tcl
- .tcr
- .tcsh
- .tdi
- .tdim
- .template
- .terms
- .tex
- .text
- .textile
- .textproto
- .themerc
- .thm
- .thp
- .tim
- .timestamp
- .tlog
- .tlz4
- .tlz5
- .tm2
- .tmf
- .tod
- .toml
- .tpc
- .tpl
- .tplist
- .tplx
- .tpn
- .tps
- .tr1
- .trace
- .trc
- .tt
- .ttml
- .tts
- .ttt
- .ttx
- .tub
- .tvst
- .tx
- .txc
- .txd
- .tz
- .tzstd
- .udi
- .ui
- .umx
- .uninstall
- .unistore
- .uop
- .uos
- .uot
- .updateuri
- .uplugin
- .url
- .urt
- .utb
- .uti
- .uusver
- .uyvy
- .v4sdmeta
- .validation
- .varfile
- .vbox
- .vbs
- .vc
- .vc1
- .vcxproj
- .vdf
- .vdx
- .ver
- .version
- .versions
- .vert
- .vff
- .vga
- .vhk
- .vim
- .vkm
- .vlc
- .vmoptions
- .vmx
- .vmxf
- .vnc
- .voc
- .vor
- .vpb
- .vpl
- .vqf
- .vrg
- .vrmanifest
- .vro
- .vsc
- .vsd
- .vsdm
- .vsdx
- .vsh
- .vsixmanifest
- .vwr
- .wad
- .wap
- .war
- .wb2
- .wbfs
- .wbm
- .weba
- .wep
- .wflow
- .wfx
- .widlprocxml
- .win32manifest
- .winmerge
- .wk1
- .wks
- .wmx
- .wmz
- .wpc
- .wpd
- .wpg
- .wpl
- .wprp
- .wps
- .wpz
- .wrc
- .wri
- .wscript
- .wslconfig
- .wup
- .wxs
- .x11
- .x3f
- .xa
- .xaml
- .xapk
- .xbel
- .xcconfig
- .xcd
- .xcu
- .xer
- .xesc
- .xim
- .xlr
- .xlt
- .xlw
- .xn
- .xnf
- .xod
- .xpi
- .xrm-ms
- .xsd
- .xsl
- .xslt
- .xwd
- .y4m
- .yaml
- .yaws
- .yml
- .yuv
- .zab
- .zoommtg
- .zoomphonecall
- .zsh
- .zso