A comprehensive collection of free Lightroom presets for photographers of all skill levels. Built with Astro to provide a fast, modern browsing experience for discovering and downloading photography presets.
AllPresets.com is a curated collection of professional-grade Lightroom presets covering various photography styles including:
- Portrait photography
- Landscape and nature
- Fashion and lifestyle
- Wedding photography
- Food photography
- Street photography
- Black & white effects
- Vintage and film looks
- And many more categories
/
├── public/
│ ├── favicon.svg
│ └── robots.txt
├── src/
│ ├── assets/
│ │ ├── astro.svg
│ │ └── background.svg
│ ├── components/
│ │ ├── Footer.astro
│ │ ├── Header.astro
│ │ ├── Hero.astro
│ │ ├── PresetCard.astro
│ │ ├── PresetGrid.astro
│ │ ├── SearchBar.astro
│ │ ├── StructuredData.astro
│ │ └── Welcome.astro
│ ├── content/
│ │ ├── config.ts # Content collection configuration
│ │ └── presets/ # Markdown files for each preset
│ ├── layouts/
│ │ └── Layout.astro # Main layout component
│ └── pages/
│ ├── [...slug].astro # Dynamic preset pages
│ ├── about.astro # About page
│ ├── categories.astro # Categories page
│ ├── how-to-install.astro # Installation guide
│ └── index.astro # Homepage
├── astro.config.mjs # Astro configuration
├── fix-images.cjs # Image processing utility
├── fix-urls.cjs # URL processing utility
├── package.json
└── tsconfig.json
The site uses Astro's content collections to manage preset data. Each preset is stored as a Markdown file in src/content/presets/ with structured frontmatter including:
- Title and description
- Download link
- Category and tags
- Compatibility information
- Featured status
All commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm run astro ... |
Run CLI commands like astro add, astro check |
npm run astro -- --help |
Get help using the Astro CLI |
To add a new preset to the collection:
- Create a new
.mdfile insrc/content/presets/ - Include the required frontmatter fields:
--- url: "/preset-name" title: "Preset Title" description: "Description of the preset (50-160 characters)" image: "https://example.com/preset-image.jpg" download_link: "https://example.com/download-link" category: "Portrait" # Optional compatibility: ["Lightroom Classic", "Lightroom CC"] # Optional featured: false # Optional tags: ["moody", "portrait", "warm"] # Optional ---
- Add your preset description content below the frontmatter
The project includes utility scripts for content management:
fix-images.cjs- Processes and optimizes preset imagesfix-urls.cjs- Validates and fixes URL formats
- Astro - Static site generator
- Astro Content Collections - Content management
- @astrojs/sitemap - SEO sitemap generation

