What's in the box.
Tenebra React is a React photography portfolio template, made for fine art photographers and print shops. It rebuilds the Tenebra design as a React 18 app with Vite. Every page is a function component, and React Router moves between all 33 pages without a reload.
The look and the content match the Tenebra demo. Underneath, the print, sitting & shop logic runs in React state. That covers every print in three sizes and each size its own numbered edition with the numbers left, and the page updates the moment a visitor changes an option.
Three Home Pages As Components
- The Studio – a hero slider of works, portraits and still lifes, four tall works.
- The Editions – prints in small editions with the numbers left on each, the price ladder.
- The Gallery – a side menu beside a split hero, portraits and still lifes.
Print, Sitting & Shop Pages In React
- Print Details – size, paper, frame and mat with the framed preview, the price line by line.
- Edition Register – every editioned work, size by size, with the sold.
- Print Shop – series, subject, size and price filters, sort by price, newest or fewest left, search.
- Portrait Sittings & Book A Sitting – four kinds of sitting, the light by season, and a four-step booking.
- Proofing Gallery – the sitter’s proofs to tick.
- Series & Exhibitions – the six series and the exhibitions sorted into on now.
React Photography Portfolio Template Features
- React 18 function components and hooks across 33 pages
- Vite for a fast dev server and an optimised production build
- React Router routes for every page, including the three home pages
- Cart, theme and language state shared through React Context
- Light and dark mode on one switch, remembered between visits
- Right-to-left layouts for every page
- Responsive from phones to wide screens
- Documentation for setup, structure and changes
Getting Started
First, install Node 18 or newer. Then run npm install and npm run dev to open the site locally. When it is ready, npm run build writes static files that any host can serve.
Looking for this React photography portfolio template in another stack? Tenebra also comes as HTML5, Vue, Angular and WordPress. You can get every format in the developer bundle at 20% off, or browse more Photography React templates.
Built with React and Vite, with Old Standard TT and Open Sans from Google Fonts.
Buyer’s guideArt Gallery Website Template: Complete Buyer’s Guide (2026) — see how React Photography Portfolio Template compares with the alternatives.
React Photography Portfolio Template in other formats
The same design, built natively in each stack. Every format is its own product with its own demo, documentation, download and reviews.
-
React Photography Portfolio TemplateHTML5
$18
$24View HTML5 → -
This page React Photography Portfolio TemplateReact $18
$24You are viewing it -
React Photography Portfolio TemplateVue.js
$18
$24View Vue.js → -
React Photography Portfolio TemplateAngular
$18
$24View Angular → -
React Photography Portfolio TemplateWordPress
$72
$96View WordPress → -
React Photography Portfolio TemplateAI Smart Website
$1,439
$1,919View AI Smart Website → -
Save 20%
Developer bundleAll 5 code formats
$115.20
$144View bundle →
What's changed.
- Initial release.
- React 18 + Vite build with 33 page components
- React Router routes and shared state in React Context
- Documentation included
Need React Photography Portfolio Template installed or customized?
Fixed prices, done by the developers who built this template. Pick a service and we take it from there.
- Theme installation
- Color scheme customization
- Speed optimization
- 1-hour web development








Reviews
There are no reviews yet.