A DLL file is a library of code that programs share instead of each keeping their own copy

DLL stands for Dynamic Link Library. It is a file that holds reusable code and data that multiple programs can use at the same time. Instead of every program on your computer storing its own copy of common functions — like how to display a window or save a file — they can all point to the same DLL file. This saves disk space and makes updates easier, because fixing a bug in the DLL fixes it for every program that uses it.

DLL files are Windows-specific. On Mac computers, the equivalent is called a framework or dylib file. On Linux, it is a .so file. They all work the same way: one file, many programs using it.

You will not normally interact with DLL files directly. They sit in system folders, and programs load them automatically when they start. But when something goes wrong — a program crashes, or you see an error message mentioning a missing DLL — understanding what they are helps you troubleshoot.

Key Takeaways

  • A DLL file contains code that multiple programs share, rather than each program storing its own copy of the same functions.
  • Windows stores most DLL files in the System32 folder or in the program's own folder, and they load automatically when a program starts.
  • A missing or corrupted DLL file usually causes an error message with the DLL name in it, and the program will not start until the problem is fixed.
  • You can view which DLL files a program uses, but you should not delete or move them yourself unless you are certain what you are doing.
  • Reinstalling a program or running Windows updates usually fixes DLL problems without any manual work on your part.

Where DLL files live on your computer

Most DLL files sit in one of two places. System-wide DLL files that many programs use live in C:\Windows\System32 (on 64-bit Windows) or C:\Windows\SysWOW64 (for 32-bit programs running on 64-bit Windows). Individual programs also keep their own DLL files in their program folder — for example, C:\Program Files\Adobe\Reader\ might contain DLL files that only Adobe Reader uses.

You can browse to these folders and see the DLL files yourself. Open File Explorer, navigate to the path above, and look for files ending in .dll. But do not move, delete, or rename them. If a program cannot find a DLL it needs, it will crash or refuse to start.

When you install a program, its installer copies the necessary DLL files to the right locations. When you uninstall a program, the uninstaller removes those files. This usually happens without you thinking about it.

What happens when a DLL file is missing or broken

If a program cannot find a DLL it needs, you will usually see an error message. Common ones say "DLL not found", "The program can't start because [filename].dll is missing from your computer", or "This application failed to initialize properly". The error message often includes the name of the DLL file that caused the problem.

A DLL can go missing for several reasons. The file might have been deleted by accident. A program uninstaller might have removed a DLL that another program also uses. A malware infection might have damaged or deleted system files. Or a Windows update might have changed where a DLL lives or what version is needed.

A corrupted DLL — one that is damaged but still present — can cause the same error. This usually happens after a crash, a power failure during a file write, or malware infection.

How to fix a missing or corrupted DLL

The first step is to reinstall the program that is showing the error. Open Control Panel, go to Programs and Features, find the program in the list, click it, and select Uninstall. Then download the program again from the official website and run the installer. The installer will replace any missing or corrupted DLL files.

If reinstalling the program does not work, run Windows Update. Go to Settings, select Update & Security, and click Check for updates. Windows updates often include fixes for system DLL files. Restart your computer after the update finishes.

If the error mentions a system DLL file like msvcrt.dll or kernel32.dll, you can also try the System File Checker tool. Open Command Prompt as administrator (right-click Command Prompt and select Run as administrator), type sfc /scannow, and press Enter. This tool scans for corrupted system files and repairs them automatically. It may take several minutes.

Do not download DLL files from websites that offer to fix DLL errors for you. These sites often bundle malware with the files. Stick to reinstalling the program or running Windows updates.

The difference between 32-bit and 64-bit DLL files

A 32-bit program uses 32-bit DLL files. A 64-bit program uses 64-bit DLL files. They are not interchangeable — a 32-bit program cannot use a 64-bit DLL, and vice versa.

On 64-bit Windows, both types of DLL files can exist. 64-bit system DLL files go in System32. 32-bit system DLL files go in SysWOW64 (the name is confusing, but that is how Windows organizes it). When you install a 32-bit program on 64-bit Windows, it can use DLL files from both folders.

You do not need to think about this when installing programs. The installer knows whether the program is 32-bit or 64-bit and puts the DLL files in the right place. But if you see an error message mentioning a 32-bit or 64-bit mismatch, it means a program is trying to use the wrong type of DLL file.

How to see which DLL files a program uses

If you want to know what DLL files a program depends on, you can use a free tool called Dependency Walker. Download it from the official website, open it, and drag a .exe file into the window. Dependency Walker will show you a list of all the DLL files that program uses, including system DLL files and program-specific ones.

This is useful for troubleshooting. If a program is crashing, you can see which DLL files it needs and check whether they are present on your computer. But for most people, this level of detail is not necessary. Reinstalling the program or running Windows Update will fix the problem without needing to know which specific DLL files are involved.

DLL files and security

Malware sometimes hides inside DLL files because they are trusted system files. An infected DLL can run malicious code every time a program loads it. This is why you should not download DLL files from untrusted websites, even if a website claims it will fix your computer.

If you suspect a DLL file is infected, run a full antivirus scan. Windows Defender (built into Windows) can detect most malware. If you want a second opinion, download Malwarebytes from the official website and run a scan with that too. Do not try to delete a DLL file yourself unless you are certain it is malware — deleting the wrong file can break a program or Windows itself.

Frequently Asked Questions

Can I delete a DLL file to free up disk space?

No. DLL files are usually small, and deleting one will break any program that uses it. If you need disk space, uninstall programs you do not use instead. The uninstaller will remove the DLL files safely.

What does it mean if I see a DLL error when I start my computer?

It means a program is trying to load a DLL file that is missing or corrupted. The error message usually names the DLL and the program. Reinstall that program, or if it is a system DLL, run Windows Update and restart your computer.

Is it safe to download a DLL file from a website that offers to fix DLL errors?

No. These websites often bundle malware with DLL files. Always reinstall the program from the official website or run Windows Update instead. These are the safe, reliable ways to replace a missing DLL.

Why does Windows have both System32 and SysWOW64 folders?

System32 holds 64-bit DLL files. SysWOW64 holds 32-bit DLL files. On 64-bit Windows, both types of programs can run, so Windows keeps both sets of DLL files. The names are confusing for historical reasons, but the folders serve different purposes.

What happens if I move a DLL file to a different folder?

The program that uses it will not be able to find it and will crash or refuse to start. DLL files need to stay in the exact folder where the installer put them. Do not move them unless you are following specific troubleshooting instructions from the program's support team.