.so
⚙️ ExecutableBinary

.so File — Shared Object Library

application/x-sharedlib

File Inspector

Drop any file to identify its extension and type — runs entirely in your browser

SO

Drop a .so file here or click to choose

Or drop any file to identify its extension

Expected MIME type:application/x-sharedlib

Quick Facts

Extension.so
Full NameShared Object Library
MIME Typeapplication/x-sharedlib
CategoryExecutable
TypeBinary
Typical Size10 KB – 100 MB
First Appeared1988

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

readelf (inspection)
nm (symbols)
ldd (dependencies)
objdump
IDA Pro
Ghidra

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.