.so File — Shared Object Library
application/x-sharedlib
Drop any file to identify its extension and type — runs entirely in your browser
Drop a .so file here or click to choose
Or drop any file to identify its extension
application/x-sharedlibQuick Facts
| Extension | .so |
| Full Name | Shared Object Library |
| MIME Type | application/x-sharedlib |
| Category | Executable |
| Type | Binary |
| Typical Size | 10 KB – 100 MB |
| First Appeared | 1988 |
What Is a .so File?
SO (Shared Object) files are the Linux/Unix equivalent of Windows DLLs — dynamic libraries containing compiled code that can be loaded and linked by multiple programs at runtime. Shared objects use the ELF (Executable and Linkable Format) binary format and are fundamental to how Linux systems work. The C standard library (libc.so), OpenSSL (libssl.so), and virtually every system library exist as shared objects. SO files follow a versioning convention (libfoo.so.1.2.3) with symlinks (libfoo.so → libfoo.so.1 → libfoo.so.1.2.3) for ABI compatibility management. The dynamic linker (ld-linux.so) resolves and loads shared objects when programs start, searching paths defined by LD_LIBRARY_PATH, /etc/ld.so.conf, and RPATH/RUNPATH embedded in executables. SO files export symbols through ELF symbol tables and support lazy binding through the PLT (Procedure Linkage Table) and GOT (Global Offset Table). Shared objects enable code reuse, reduce memory usage through shared memory mappings, and allow library updates without recompiling dependent applications. They are used in plugin architectures, language bindings, and as the compiled output of C, C++, Rust, Go, and other compiled languages on Linux.
How to Open .so Files
Related File Extensions
More Executable File Extensions
Other executable formats you might encounter
Browse File Extensions by Category
Explore our reference of 259 file extensions with details, programs, and related formats.