C
- cmd
- A .cmd file is a command script file, a type of batch file, used in Microsoft Windows to execute a series of commands in sequence through the command-line interpreter. It is nearly identical to the older .bat format and is used to automate repetitive tasks, run administrative scripts, and simplify complex command-line operations.
- css
- A .css file, short for Cascading Style Sheet, is a stylesheet language used to control the visual appearance of a webpage written in HTML. It handles the presentation aspects like colors, fonts, layout, and spacing, allowing developers to separate the document’s content from its design.
D
- dll
- A .dll file, or Dynamic Link Library, is a type of file in Microsoft Windows that contains code and data that can be used by multiple programs at the same time. This allows for code reuse and more efficient memory usage, as different applications can call upon the functions within a single .dll file to perform common tasks without needing to have that code built into their own files.
E
- env
- An .env file is a plain text file used to store environment variables, which are key-value pairs containing configuration settings and secrets like API keys or database credentials for an application. This practice separates sensitive data from the source code, so the .env file should never be committed to version control and is almost always listed in a project’s .gitignore file.
- env.example
- An .env.example file is a template or placeholder that outlines the structure and required variables for a project’s actual .env file. It lists all the necessary environment variable keys but with dummy or empty values, so it can be safely committed to version control as a guide for other developers.
- example
- An .example file is a template or sample configuration file that shows the required structure and available options for a program’s actual configuration file. A user is meant to copy this file, rename it by removing the .example extension, and then customize it with their own specific settings and credentials.
G
- gitignore
- A .gitignore file is a plain text configuration file that tells the Git version control system which files or directories to intentionally untrack and ignore. By listing patterns for files like compiled code, log files, or dependency folders, it prevents them from being accidentally added to the project’s version history.
- graphql
- A .graphql file contains code written in the GraphQL query language, a syntax for requesting and manipulating data from an API. These files are used to define the exact structure and fields of data that a client application needs, allowing it to fetch all required information in a single, efficient request.
- gz
- A .gz file is a file that has been compressed using the gzip (GNU zip) compression utility, which is commonly found on Unix-like operating systems. Unlike an archive format like .zip, gzip is designed to compress only a single file, so it is often used in combination with the tar utility to first bundle multiple files into one .tar file, which is then compressed into a .tar.gz file.
H
- htm
- An .htm file is a webpage file containing HyperText Markup Language, making it functionally identical to a .html file. The shorter, three-letter extension is a legacy from older operating systems like DOS that had a three-character limit for file extensions, but modern browsers treat both file types exactly the same.
- html
- An .html file, which stands for HyperText Markup Language, is the standard file used to create web pages. It contains the structural foundation and content of a website, using a system of tags to define elements like headings, paragraphs, links, and images.
J
- js
- A .js file contains code written in the JavaScript programming language, which is one of the core technologies of the World Wide Web. It is used to add interactive behavior to web pages, allowing for dynamic content updates, animated graphics, and complex user-side functionalities.
- json
- A .json file, which stands for JavaScript Object Notation, is a lightweight, text-based format used for storing and exchanging data. It organizes data in human-readable key-value pairs, making it a very common format for transmitting information between a server and a web application.
- jsx
- A .jsx file is a source code file that contains JavaScript XML syntax, which allows HTML-like markup to be written directly within JavaScript code. It is the standard file type used for creating components in the React library, where this syntax is used to describe the structure and appearance of the user interface.
L
- local
- A .local file is a local configuration override file, a naming convention used by developers to store settings specific to their individual machine. It is designed to override default settings from a main, version-controlled configuration file, and it is almost always added to the .gitignore file to prevent personal or sensitive data from being shared with the team.
- log
- A .log file is a plain text file that contains a chronological record of events, warnings, and errors generated by a software application or an operating system. Developers and system administrators use these logs to track operational history, diagnose problems, and debug the behavior of their programs.
M
- map
- A .map file, commonly known as a source map, is a special file used during web development to link a compressed or minified version of a file (like a .js or .css file) back to its original, readable source code. It’s a crucial tool for debugging, as it allows a developer’s browser to display the original code when an error occurs, rather than the unreadable, optimized code the browser is actually running.
- md
- A .md file, standing for Markdown, is a plain text file that uses a simple, readable syntax to apply formatting. It is commonly used for writing documentation, website content, and notes because it can be easily converted into structurally valid HTML and other formats.
- mjs
- A .mjs file is a JavaScript file that is explicitly designated as an ECMAScript (ES) Module. This extension is used to unambiguously tell the JavaScript runtime, like Node.js, that the file uses the modern import and export syntax, distinguishing it from scripts that use older module systems like CommonJS.
P
- pem
- A .pem file, which stands for Privacy-Enhanced Mail, is a container format used to store cryptographic information like public certificates and private keys. These plain text files are essential for securing network communications and are commonly used to configure web servers for HTTPS (SSL/TLS) connections.
- png
- A .png file, standing for Portable Network Graphics, is a raster image format that uses lossless compression, meaning it preserves all of the original image data and quality. It is widely used for web graphics, logos, and illustrations, especially when the image requires a transparent background or sharp lines.
- ps1
- A .ps1 file is a script containing commands written for Windows PowerShell, Microsoft’s powerful command-line shell and automation framework. System administrators use these scripts to automate administrative tasks, manage system configurations, and perform complex operations on Windows computers and servers.
- py
- A .py file is a source code file that contains a script written in the Python programming language, which is known for its readability and versatility. These files are executed by a Python interpreter to perform a vast range of tasks, from automating simple scripts and analyzing data to running complex web applications.
- pyc
- A .pyc file is a compiled Python file that contains the bytecode generated from a .py source file. The Python interpreter creates these files automatically when a module is imported to speed up subsequent executions, as loading the compiled bytecode is faster than re-parsing the original text-based script.
- pyd
- A .pyd file is a Python dynamic library that is functionally the same as a dynamic link library (.dll) on the Windows operating system. These files contain compiled code, often written in C or C++, allowing Python programs to import and use high-performance extension modules as if they were standard Python modules.
S
- sql
- A .sql file contains code written in Structured Query Language, the standard language used to communicate with and manage relational databases. This script file holds a sequence of commands for performing tasks such as querying for information, updating records, and creating or modifying database structures like tables.
- svg
- An .svg file, which stands for Scalable Vector Graphics, is an XML-based image format that defines two-dimensional graphics using mathematical equations instead of a grid of pixels. This vector approach allows the image to be resized to any dimension without any loss of quality, making it ideal for logos, icons, and interactive web graphics.
T
- tar
- A .tar file, short for Tape Archive, is an archive file that bundles multiple files and directories into a single file, preserving their permissions and directory structure. The tar command itself does not perform compression; its sole purpose is to consolidate files, which is why it is frequently used with a compression utility like gzip to create a .tar.gz file.
- tar.gz
- A .tar.gz file is a compressed archive commonly found on Unix-like operating systems, often referred to as a “tarball.” It’s created by first bundling a collection of files and directories into a single .tar (Tape Archive) file, and then compressing that single file with gzip (.gz).
- toml
- A .toml file, standing for Tom’s Obvious, Minimal Language, is a configuration file format designed to be exceptionally easy for humans to read due to its clear and straightforward syntax. It’s commonly used in modern software projects to manage settings and dependencies, such as with Python’s pyproject.toml file, because of its unambiguous structure.
- ts
- A .ts file contains source code written in TypeScript, a programming language developed by Microsoft that is a strict superset of JavaScript with added static typing. This code is not run directly by browsers; it must first be compiled into a standard .js file, a process which helps catch errors during development rather than at runtime.
- tsbuildinfo
- A .tsbuildinfo file is a build information cache automatically generated by the TypeScript compiler when the incremental build flag is enabled. It stores a “fingerprint” of the project’s state from the last compilation, which allows TypeScript to analyze which files have changed and only recompile what’s necessary, dramatically speeding up subsequent builds.
- tsx
- A .tsx file is a source code file that combines the TypeScript language with JSX (JavaScript XML) syntax. It is primarily used for writing components in the React framework, allowing developers to build user interfaces with the added benefits of TypeScript’s static type safety.
- txt
- A .txt file is a standard plain text document that contains only unformatted characters, numbers, and symbols. It is one of the most basic and universally compatible file formats, readable by virtually any text editor or word processor on any operating system.
- typed
- A py.typed file is a special marker file used within a Python package to signal that it supports and provides type hints as defined by PEP 561. Its presence tells type-checking tools like Mypy that they should inspect the package’s source code for type annotations, enabling more robust static analysis for any project that uses the package.
X
- xml
- An .xml file, which stands for eXtensible Markup Language, is a text-based file used to store and transport data in a structured, hierarchical format. Unlike HTML, which has predefined tags, XML allows users to create their own custom tags to describe the data, making it a flexible format for configuration files and data exchange between different systems.
Y
- yaml
- A .yaml file, which stands for YAML Ain’t Markup Language, is a human-friendly data serialization format often used for configuration files. It uses indentation to represent data structure, which makes it very readable and popular for infrastructure-as-code tools like Ansible, Kubernetes, and Docker Compose.
- yml
- A .yml file is a data serialization file using the YAML (YAML Ain’t Markup Language) format, making it functionally identical to a .yaml file. It serves as a shorter, alternative file extension, and both .yml and .yaml are recognized and used interchangeably by modern applications and tools.
Z
- zip
- A .zip file is an archive file that contains one or more files or folders that have been compressed into a single container. This format is widely used to reduce the overall file size for easier storage and faster transfer, as well as to bundle multiple items together for convenient distribution.