Template specs
- HTML Template Built with Tailwind CSS v4 and Alpine.js v3. Shipped with pre-compiled CSS, changes via Tailwind CLI.
- Next.js Template Built with Next.js 16 (App Router) plus TypeScript support - and Tailwind CSS v4.
- Vue Template Basic app built with Vue v3, Tailwind CSS v4, Vite v6.
About this template
Gray is a minimal black and white landing page template designed for modern SaaS and tech companies that seek a minimal layout/canvas to showcase their products in style. The product is enriched with beautiful hand-drawn illustrations (mainly created using vectors) that were developed to fit any context or necessity.
Gray implements a recent design trend that primarily emphasizes content, disregarding excessive colours and unnecessary design elements. With Gray you will only need to focus on the message you want to communicate, leaving behind complex design decisions and useless aesthetics.
Think about what’s important for your customer and use this beautiful template to get your product up and running in a matter of minutes, not days.
What’s included
This template includes a dense interface layout packed with multiple content sections, two functional carousels, bento-style illustrations, and pricing and testimonial sections. In addition to the primary landing page, the product is enhanced by a request demo page (containing multiple forms), a login page, and a rest password.
Built for
Gray is developed for minimal tech products, apps, and SaaS that need a contemporary landing page to present their products in style.
Changelog
July 7, 2026 Update
A content and tooling refresh across every edition.
HTML
- Add local dev server with live reload (
npm run devnow runs the Tailwind watcher and Browsersync together) - Bundle the Tailwind CLI as a dependency
- Upgrade Tailwind CSS to 4.3.2 and update other dependencies
- Fix gradient-border mask rendering under Tailwind 4.3 (use trailing
!important syntax somask-composite: excludeis applied) - Add Terms and Privacy pages
- Refresh the footer with the new layout and real links across all pages
- Add real favicons (SVG, ICO, PNG, Apple touch icon, and web manifest)
Next.js
- Upgrade to Next.js 16.2.10 and React 19.2.7
- Update to Tailwind 4.3.2
- Upgrade next-mdx-remote-client to v2
- Remove unused @next/mdx config
- Remove unused API route
- Add Terms and Privacy pages
- Move AOS init into a client component to improve static rendering
- Clean up dependencies and move types to devDependencies
- Add ESLint and Prettier configuration with import sorting
- Update footer to only link to real internal pages
- Improve page metadata and titles
- Add favicon pack and web manifest
- Fix gradient-border mask rendering under Tailwind 4.3
Vue
- Upgrade Vue to 3.5.39 and Vue Router to 5.1.0
- Upgrade to Tailwind 4.3.2
- Upgrade Vite to 8.1.3 and @vitejs/plugin-vue to 6.0.7
- Upgrade @headlessui/vue and remove the redundant @vue/compiler-sfc dependency
- Remove insecure
process.envexposure and unused resolve alias from the Vite config - Add Terms of Service and Privacy Policy pages
- Restructure the footer nav (Product / Resources / Legal) with real links
- Add a real favicon set (SVG, PNGs, ICO, and web manifest)
- Add ESLint (flat config with eslint-plugin-vue) and Prettier, and lint/format all files
- Fix gradient-border mask rendering under Tailwind 4.3 (use the supported trailing
!important syntax somask-composite: excludeis emitted) - Fix a broken closing tag in the business categories tabs and a malformed app card link
FAQ
- Yes! You can use this template for an unlimited number of personal and commercial projects. These can include commercial landing pages, websites, or SaaS applications that end users pay to access.
- If you're a freelancer or agency, you can use this templates for your client projects. Please be aware that the final outcome must still adhere to our Terms & License agreement.
- Yes, you can take sections from one template to another, but since every template has a custom tailwind.config.json file it may require a bit of review work. For example, if you want to paste a section of Cube into Neon, you'll have to swap any
font-hkgroteskclass from Cube code tofont-uncut-sans. Also, you might want to check that the color classes match the color scheme of the destination template. - Unfortunately, we cannot provide support for using frameworks or site generators that are not explicitly advertised as compatible with our templates. However, you can set up your own environment and import the necessary components or elements from our templates into your application. By doing so, you will be able to customize the integration to meet your specific needs.
- A Figma file is available for this template. However, since our primary focus is on providing quality code for developers, this design file serves solely as a visual reference and is not organized into complex auto layouts or dynamic components. You can download a free Figma file from our public page to see how our design files are structured.
