# motdotla/dotenv

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/motdotla-dotenv).**

20,284 stars · 928 forks · JavaScript · bsd-2-clause

## Links

- GitHub: https://github.com/motdotla/dotenv
- Homepage: https://www.dotenv.org
- awesome-repositories: https://awesome-repositories.com/repository/motdotla-dotenv.md

## Topics

`configuration-file` `dotenv` `env` `environment-variables` `javascript` `node` `nodejs` `secret-management` `secret-manager` `secrets` `security-tools`

## Description

Dotenv is a configuration management library designed to load environment variables from local files into the process environment. By separating application settings from source code, it enables developers to maintain consistent configurations across different deployment stages and team environments.

The utility provides mechanisms to transform plain text configuration files into encrypted formats, allowing sensitive secrets to be stored securely within version control systems. It handles the parsing and normalization of key-value pairs, ensuring that configuration data is consistently processed and injected into the runtime process memory.

The library supports the synchronization of environment variables across multiple machines, facilitating parity between local development and production settings. It respects existing system-level environment variables by preventing the overwriting of values already defined in the host environment.

## Tags

### Development Tools & Productivity

- [Environment Variable Loaders](https://awesome-repositories.com/f/development-tools-productivity/environment-variable-loaders.md) — Loads configuration values from local files into the process environment to separate settings from source code. ([source](https://www.dotenv.org))
- [Environment Variable Management](https://awesome-repositories.com/f/development-tools-productivity/environment-variable-management.md) — Loads configuration values from local files into the application process to keep sensitive settings separate from source code.

### Security & Cryptography

- [Configuration Encryption](https://awesome-repositories.com/f/security-cryptography/configuration-encryption.md) — Transforms plain text environment files into encrypted formats for secure storage in version control. ([source](https://www.dotenv.org/vault))
- [Environment Configuration Managers](https://awesome-repositories.com/f/security-cryptography/environment-configuration-managers.md) — Manages environment-specific secrets across different deployment stages to ensure configuration consistency. ([source](https://www.dotenv.org))
- [Secret Encryption](https://awesome-repositories.com/f/security-cryptography/secret-encryption.md) — Encrypts sensitive secrets to prevent unauthorized access while maintaining availability for authorized users. ([source](https://www.dotenv.org))
- [Secret Synchronization Tools](https://awesome-repositories.com/f/security-cryptography/secret-management/secret-synchronization-tools.md) — Organizes and synchronizes environment-specific secrets across deployment stages to ensure consistency.
- [Secret Security](https://awesome-repositories.com/f/security-cryptography/secret-security.md) — Enables secure storage of secrets in version control by encrypting configuration files.
- [Configuration Syncing](https://awesome-repositories.com/f/security-cryptography/configuration-syncing.md) — Maintains parity between local development and production environments by synchronizing configuration variables.

### Software Engineering & Architecture

- [Environment Variable Injection](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/environment-variable-management/environment-variable-injection.md) — Injects parsed key-value pairs directly into the runtime process memory for standard environment variable access.
