Author: wrappixel

  • 15+ Admin Panel Templates Free Download HTML5 and CSS3 of 2026

    Creating an admin panel for your project in 2026 doesn’t have to be difficult. If you’re struggling to find the right HTML theme, we’ve got you covered. We’ve handpicked some of the best Admin Panel Templates Free Download HTML5 and CSS3 of 2026, that are simple, modern, and perfect for any project. 

    Looking for simple admin panel templates? You are at right place

    These templates are designed with the latest trends to make your project look professional and work smoothly. They’re lightweight, responsive, and easy to customize, saving you time and effort. Whether you’re a beginner or an expert, these admin panel templates will meet all your needs without complications.

    Below, we’ve curated a list of the free HTML & CSS admin panel templates that are lightweight, responsive, and easy to customize. Also if you are looking for some Free React Dashboard Templates or Tailwind Admin Templates, check WrapPixel.


    Top Admin Panel Templates Free Download HTML5 and CSS3

    MaterialM

    Developers love the MaterialM free bootstrap template for its Google Material Design, extensive features, and Bootstrap foundation, making it a dependable choice. The MaterialM HTML Admin Template is designed to simplify the development process while maintaining a professional and polished appearance. Its clean structure and modern design make it ideal for beginners and experienced developers alike.

    Why Choose MaterialM ?

    • Completely Free : No hidden costs, just a high-quality template ready to use.
    • Built with Bootstrap : Leverages the latest web technologies for smooth performance.
    • Easy Customization : Clean, well-organized code allows for hassle-free customization.
    • Fully Responsive : Adapts perfectly to any screen size, ensuring a great user experience.
    • Pre-built Pages : Includes login, registration, forms, tables, and more.

    Final Thoughts on MaterialM

    MaterialM is a versatile template that’s perfect for beginners and pros alike. Its pre-built pages and intuitive design make it a go-to solution for quick and efficient development. Whether you’re building a fintech platform, healthcare application, or crypto dashboard, MaterialM provides the tools you need to get started quickly.

    Github Star’s – 5


    Tailwindadmin

    Tailwindadmin is a modern admin interface system built using Tailwind CSS. It comes with ready-made UI components, dashboard screens, and layout patterns that keep things clean, scalable, and developer-friendly.

    Why Choose Tailwindadmin?

    • Built with Tailwind CSS for a modular and customizable design.
    • Fully responsive and optimized for performance.
    • Easy to integrate and customize.

    Final Thoughts on Tailwindadmin

    If you want an admin UI kit that’s modern, consistent, and scalable, Tailwindadmin is a solid choice. It saves development time, reduces unnecessary design work, and helps maintain a clean look across your dashboard pages.

    Github Star’s – 60


    Modernize

    The Modernize Free Bootstrap Admin Template is a visually appealing option that combines style and functionality. If you want a template that’s both trendy and practical, this one’s for you. You don’t need to search any further if you’re seeking a free bootstrap admin template that is visually appealing, well-designed, has lots of functionality, and has a trendy appearance. The Modernize Free Bootstrap Admin Template includes all the tools you need to easily construct your web application. Its clean, straightforward style will add a polished and captivating appeal to your next project.

    Modernize Free React Dashboard

    Why Choose Modernize ?

    • Visually stunning design with a clean layout.
    • Packed with essential features for effortless development.
    • Fully responsive and compatible with all devices.
    • Built with Bootstrap, ensuring modern and efficient performance.

    Final Thoughts on Modernize

    Modernize is ideal for developers who want a polished and captivating simple admin panel without spending hours on customization. Its simplicity and elegance make it a standout choice.

    Github Star’s – 28 


    Spike

    The Spike Bootstrap Admin Dashboard is a unique blend of functionality and aesthetics. Powered by Bootstrap, it offers a fresh and modern approach to admin panel design. Spike is perfect for developers looking for something different yet highly functional. Its innovative design and ease of use make it a strong contender in the world of admin templates.

    Why Spike Stands Out ?

    • Combines appearance and functionality seamlessly.
    • Built with Bootstrap, ensuring responsiveness and compatibility.
    • Easy to integrate and customize for your specific needs.

    Final Thoughts on Spike

    If you’re searching for a free, feature-rich template that doesn’t compromise on quality, MaterialM is an excellent choice.

    Github Star’s – 17


    Star Admin

    Star Admin is a beautifully designed simple admin panel template featuring a fine selection of useful Bootstrap components and elements. Its impressive typography and colorful interface make it a favorite among developers.

    Why Choose Star Admin ?

    • Elegant and user-friendly design.
    • Pre-built pages that are intuitive and well-structured.
    • Offers a wide range of components for customization.

    Final Thoughts on Star Admin

    Star Admin strikes the perfect balance between style and practicality. It’s an excellent choice for developers looking to create modern, professional, and user-friendly interfaces.

    Github Star’s – 366


    MatDash

    MatDash is a free and modern admin dashboard template designed for developers who want a clean and responsive interface for their admin panels. Built with Bootstrap 5, it offers a sleek design, easy customization, and a variety of ready-to-use components. Whether you’re building a small app or a complex web system, MatDash provides a solid foundation to get started quickly.

    Why Choose MatDash Template ?

    • Modern & Clean Design : Features a minimalist layout with a professional look, perfect for today’s admin dashboards.
    • Built with Bootstrap : Uses the latest Bootstrap framework, ensuring responsiveness and compatibility across devices.
    • Free & Open Source : Completely free to use and customize, ideal for personal or commercial projects.
    • Easy to Customize : Simple structure and clean code make it easy for developers to modify and extend features.
    • Great for Beginners & Experts : Suitable for developers at all levels, offering both simplicity and flexibility.

    Final Thoughts on MatDash

    MatDash is an excellent choice for anyone looking for a lightweight and stylish Bootstrap admin template. It combines functionality with a clean UI, making it easy to build powerful dashboards without unnecessary complexity.

    Github Star’s – 18


    MaterialPro

    MaterialPro Bootstrap Lite is a powerful and competent admin template based on HTML and CSS . Inspired by Google Material Design principles, it’s packed with essential Bootstrap components and UI elements.

    Why Choose MaterialPro ?

    • Responsive UI Elements : Perfect for building dynamic web applications.
    • Google Material Design : Sleek and professional look.
    • Pre-built Widgets : Speeds up development with ready-to-use components.

    Final Thoughts on MaterialPro

    MaterialPro is a robust and flexible template that caters to a wide range of projects. Its clean design and reusable components make it a must-have for developers.

    Github Star’s – 18


    AdminKit

    AdminKit is a new and modern dashboard from Paul Laros. Built on Bootstrap, it’s lightweight, fast, and easy to use.

    Why Choose AdminKit ?

    • Clean and minimalistic design.
    • Fully responsive and compatible with all devices.
    • Includes pre-built pages and components for quick setup.

    Final Thoughts on AdminKit

    This Admin Template is a great choice for developers looking for a fresh and modern admin template. Its simplicity and efficiency make it ideal for small to medium-sized projects.

    Github Star’s – 1.6k


    Admin LTE

    Although AdminLTE is one of the older templates, it remains a popular choice due to its reliability and versatility. It’s packed with features and works seamlessly across all major browsers.

    Why Admin LTE is Still Relevant ?

    • Supports over 18 plugins, including Chart.js , DataTables , and Select2 .
    • Offers customizable layouts and light/dark modes.
    • Compatible with modern frameworks like Angular , React , and Vue.js .

    Final Thoughts on Admin LTE

    Admin LTE proves that old can be gold. Its rich feature set and flexibility make it a timeless option for developers.

    Github Star’s – 44.7k


    Adminator

    While Adminator is an older template, it’s still widely used by developers. Its simplicity and ease of use make it a reliable choice for small projects.

    Why Adminator Still Works ?

    • Simple and straightforward design.
    • Lightweight and easy to customize.
    • Compatible with most modern browsers.

    Final Thoughts on Adminator

    Adminator may not be as feature-rich as newer templates, but its simplicity and reliability make it a solid option for basic simple admin panels.

    Github Star’s – 4.5k


    FreeDash

    If you’re searching for a free, eye-catching, and elegantly designed Bootstrap admin template, FreeDash is All in one template for you. Whether you’re building a dashboard for a small project or a more complex application, FreeDash offers all the essential features you need to get started quickly. Its clean folder structure, organized code, and hassle-free setup make it an ideal choice for developers of all skill levels.

    Why Choose FreeDash Admin Template ?

    • Google Fonts : Includes customizable typography for a professional look.
    • Easy Folder Structure : Simplifies navigation and makes customization straightforward.
    • Organized Code Structure : Ensures clean and maintainable code for hassle-free development.
    • Hassle-Free Setup Process : Quick and easy to integrate into your project.
    • 1 Basic Dashboard : A clean and functional starting point for your admin panel.
    • Forms Variations : Multiple form styles to suit different use cases.
    • Table Variations : Offers various table designs for data management.
    • Charts Examples : Pre-built chart components for data visualization.
    • 3 Useful Applications : Includes ready-to-use app templates for added functionality.
    • Login and Register Pages : Comes with authentication pages to save time during development.

    Final Thoughts on FreeDash

    Its sleek design, organized structure, and practical features like forms, tables, and charts make it versatile enough for a wide range of projects. If you want a reliable and stylish starting point for your next project, FreeDash is definitely worth considering.

    Github Star’s – 101 


    Apollo

    The Apollo Bootstrap HTML Admin Template is a modern and feature-rich solution for developers looking to create professional admin dashboards. From charts to notifications, this template ensures a smooth development experience while maintaining a clean and professional design.

    Why Choose Apollo ?

    • Chart.js Integration : Comes with three different chart types for dynamic data visualization.
    • Built with Bootstrap : Leverages the latest version of Bootstrap for a responsive and efficient experience.
    • Collapsible Sidebar : Automatically collapses on browser resize, ensuring usability across devices.
    • Notifications & Avatar Components : Adds interactivity and enhances user engagement.
    • Login/Register Pages : Saves time with ready-to-use authentication pages.

    Final Thoughts on Apollo

    Whether you’re working on a small project or a larger system, Apollo provides the tools you need to create a professional and engaging dashboard effortlessly.

    Github Star’s – 24


    Light Blue

    The Light Blue HTML Admin Template is a versatile and lightweight admin dashboard built with Bootstrap and pure JavaScript . Designed to work seamlessly on both small mobile devices and large desktops, this template is perfect for creating a wide range of web applications, including SaaS dashboard, CMS, CRM systems, data analytics software, and project management tools.

    Why Choose Light Blue ?

    • Fully Responsive : Works flawlessly on all screen sizes, ensuring a consistent user experience.
    • Pure JavaScript : Lightweight and fast, without relying on heavy libraries like jQuery.
    • Versatile Use Cases : Suitable for building any type of web application, from SAAS to project management systems.
    • Bootstrap-Powered : Built with Bootstrap for a modern and responsive design.
    • Customizable : Easy to adapt and modify based on your project requirements.

    Final Thoughts on Light Blue

    Whether you’re creating a CRM, CMS, or SAAS platform, Light Blue provides the tools and performance you need to succeed.

    Github Star’s – 9


    Conclusion

    Whether you’re building a small project or a large-scale application, above all HTML & CSS admin panel templates offer something for everyone. From the sleek design of MaterialM to the versatility of Admin LTE , each template brings its own strengths to the table. For beginners, FreeDash and Spike are excellent starting points, while experienced developers might appreciate the advanced features of MaterialPro and Modernize .

    Take your time to explore these templates and choose the one that best fits your project requirements. 

    Happy coding! 🚀💻


    If you’re unsure or need help deciding on choosing the right template, feel free to submit a support form today, and we’ll guide you through the process.

  • 20+ Best Free React Website Templates in 2026

    Starting with a good react template can save your hours, whether you are a developer creating a side project or a designer hoping to launch quickly. Configurations, layout, and limitless styling quickly mount up.

    Fortunately, there are tons of wonderful, production-ready templates in the React ecosystem, many of which are totally free.

    The top free React website templates for 2026 are carefully picked in this list, which combines simple design and clean code so you can focus on creating something amazing.

    Why Use Free React Website Templates?

    Although it’s always a choice, there are definite advantages to choosing a free React template, particularly when clarity and time are of the essence.

    1. Save Time on Setup: Templates provide routing, layouts, and components that are ready to use. There’s no need to start from scratch.
    1. Developer-Friendly Code: The majority of templates are created with best practices in mind, which include neat code structure, reusable components, and well-organised folders.
    1. Designed by Pros: You can have a website that looks professional even if you’re not a designer.  A lot of templates follow the latest UI/UX trends.
    1. Fully Customizable: React’s built-in components and logic make it simple to adapt them to your project’s unique requirements.
    1. Perfect for MVPs & Side Projects: You may go live more quickly and look professional by using free templates for landing pages, portfolios, and startup demos.

    20+ Free React Website Templates

    Awake

    Framework: React + Next.js

    Overview: Awake is one of the most talked-about React templates online. It is well-known for its smooth scroll effects and simple style, making it perfect for modern-day company pages, personal portfolios, and agency websites. Designers can also access it in Framer.

    Key Features Of Awake Template

    • Built with Next.js and Tailwind CSS
    • Elegant animations and transitions
    • Optimised for portfolios and agencies
    • Available on Framer for design-first teams

    HULL

    Framework: React + Next.js

    Overview: For SaaS and startup businesses, Hull is a modern, production-ready landing page template.  The Lightspeed team created it and boasts seamless navigation and pixel-perfect design.

    Key Features Of Hull Template

    • Modern startup UI with flexible sections
    • Super lightweight and optimised
    • Easy to customise for MVPs and products

    Fyrre Magazine

    Framework: React + Next.js + Tailwind

    Overview: Fyrre is a modern Nextjs template crafted for stylish magazines and editorial-focused blogs.  With a layout that prioritizes readability and powerful images, it’s ideal for digital newspapers and content-heavy websites.

    Key Features Of Fyrre Magazine Template

    • Clean grid layout and typography
    • MDX-ready and responsive design
    • Built with Tailwind, TypeScript, Shadcn

    SaaSCandy

    Framework: React + Next.js

    Overview: A well-designed and conversion-optimized template specifically designed for SaaS firms is SaaSCandy.  Call-to-action blocks, hero sections, and pricing tables are all included to promote signups.

    Key Features Of SaaSCandy Template

    • Ideal for SaaS marketing websites
    • Clean design with Tailwind 
    • SEO-optimized and mobile-friendly

    Fashion Studio

    Framework: React

    Overview: This stylish and subtle React template is ideal for portfolios, creative studios, and fashion firms.  It highlights your images with seamless transitions and a monochromatic colour scheme.

    Key Features Of Fashion Studio Template

    • Sleek, minimal layout
    • Scroll-triggered animations
    • Ideal for creatives and personal brands

    Nicktio

    Framework: React + Next.js

    Overview: WrapPixel offers a free nextjs landing page template for SaaS and apps called Nicktio.  It has feature sections, CTAs, and contemporary layouts that are intended to highlight software products.

    Key Features Of Nicktio Template

    • Tailored for SaaS apps 
    • Multiple prebuilt sections: features, pricing, testimonials
    • Clean, mobile-first layout

    Linkify

    Framework: React + Node.js

    Overview: For professionals and artists looking for a simple landing page with links to their work, profiles, and contact details, Linkify is an excellent template for a link-sharing and bio-link tool.

    Key Features Of Linkify Template

    • Minimal profile and bio-link layout
    • Easy to customize links and content
    • Fully responsive and open source

    Base Hub Marketing

    Framework: React + Tailwind CSS + Next.js

    Overview: A marketing website starter built by BaseHub AI. This template’s simplicity and usefulness make it perfect for SaaS platforms and tech firms who want to expand quickly and deploy with ease.

    Key Features Of Base Hub Marketing Template

    • Optimized for marketing and product pages
    • Lightweight and SEO-optimized
    • Simple architecture with scalable layout

    Property

    Framework: React + Next.js

    Overview: This is a modern real estate website template designed to assist realtors or agencies go live more quickly, showcase agents, and display properties.

    Key Features Of Property Real Estate Template

    • Ready-made property grid and listing layout
    • Contact forms and agent profile sections
    • Clean, professional look for real estate

    Luuppi

    Framework: React + Next.js

    Overview: Luuppi is a simple, quick-loading template designed for contemporary SaaS and startup websites. It’s ideal for companies that wish to look modern and straightforward due to its Scandinavian-style design and understated motion effects.

    Key Features Of Luuppi Template

    • Sleek landing page with hero, features, and testimonials
    • Built using Tailwind and Next.js
    • Minimalist UI and fast performance

    Horizon Template by Swenstores

    Framework: React + Next.js

    Overview: Horizon is a well-designed template for an online store.  Product grids, filters, and a responsive user interface all designed for performance and conversion, makes it perfect for online stores.

    Key Features Of Horizon Template

    • Ecommerce layout with product showcases
    • Cart and filter-ready components
    • Smooth navigation and clean design

    Sustainable

    Framework: React + Next.js + Tailwind CSS

    Overview: Clean and well-considered, Sustainable is the perfect template for SaaS or sustainability-oriented enterprises.  It contains blocks that are intended to increase conversion, such as testimonials, pricing, and CTAs.

    Key Features Of Sustainable Template

    • SaaS landing page with multiple content sections
    • SEO-friendly and responsive
    • Designed for speed and clarity

    Open

    Framework: React + Next.js

    Overview: Open is an innovative landing page template ideal for new businesses and product introductions.  It is exquisitely planned, very customisable, and features stylish parts and subtle animations.

    Key Features Of Open Template

    • Smooth scroll and light motion effects
    • Designed with Tailwind CSS
    • Developer-friendly open source code

    Abdullah Agency

    Framework: React + Next.js + Tailwind CSS

    Overview: This template is ideal for freelancers and agencies because it is visually rich and trendy.  It has a bold layout, dynamic page sections for projects and services, and animated transitions.

    Key Features of Abdullah Agency Template

    • Scroll animations and dark mode
    • Designed with Tailwind CSS
    • Lightweight and responsive

    Alvalens Porto

    Framework: React + Next.js + Tailwind CSS

    Overview: Developers and designers can use the Alvalens Porto personal portfolio template.  It is ideal for exhibiting projects, abilities, and a personal brand because of its clear, simple design and user-friendly layout.

    Key Features Of Alvalens Porto Template

    • Smooth animations and responsive design
    • Built using Next.js and Tailwind CSS
    • Lightweight and easy to deploy

    Studiova

    Framework: React + Next.js + Tailwind

    Overview: Studiova is a stunning template for company and agency websites. It is designed for corporate teams and creatives who require a modern user interface with a polished web presence.

    Key Features Of Studiova Template

    • Optimized with Tailwind CSS and Next.js
    • Highly customizable and mobile-friendly
    • Great for branding and digital marketing firms

    Codebucks

    Framework: React + Next.js

    Overview: This blog template by Codebucks is a minimal, content-first layout designed for developers and bloggers who want to share knowledge with a clean reading experience.

    Key Features Of Codebucks Template

    • Prebuilt blog pages with author and post layouts
    • MDX content support
    • Simple and scalable folder structure

    Nobble 

    Framework: React + Next.js + Tailwind

    Overview: Nobble is a template for personal and agency portfolios that converts well.  It’s perfect for freelance work and product displays because it has dark/light themes, hero parts, and blocks that are suitable for animation.

    Key Features Of Nobble Template

    • Smooth scroll and transitions
    • Modern section-based layout
    • SEO-optimized, Tailwind-based

    Venus

    Framework: React + Next.js

    Overview: Venus is a free, high-quality SaaS template made for software platforms and startups.  It is designed to lead users through the plans, features, and key characteristics of the product.

    Key Features Of Venus Template

    • Polished SaaS landing page components
    • Clean Tailwind CSS styling
    • Fully responsive and fast

    Stablo

    Framework: React + Tailwind CSS

    Overview: A content-driven template, Stablo is perfect for dev diaries, publishing platforms, and personal blogs.  Its striking visual layout and adaptable structure make it simple to use for many kinds of content.

    Key Features Of Stablo Template

    • Multiple post layout options
    • Great for writing-focused websites
    • Minimal, distraction-free UI

    Personal

    Framework: React + Next.js 

    Overview: This is a passionately constructed developer portfolio website.  For tech workers and freelancers who wish to present their work, résumé, and blog in a modern way.

    Key Features Of Personal Template

    • Smooth animations and responsive layout
    • Built with Tailwind CSS + Next.js
    • Lightweight and developer-focused

    Conclusion 

    These free React templates, ranging from SaaS to personal portfolios, offer speed, flexibility, and high-quality design, enabling developers to start projects more quickly without compromising functionality or visual appeal. Also if you want to build admin panels for your project, you can check our collection of free react admin dashboard template collection.

  • 20+ Stunning Free NextJs Website Templates for 2026

    Designing a beautiful nextjs website templates should not feel like reinventing the wheel. Time is your most valuable resource, whether you are a startup founder rushing to become an MVP or a developer balancing several projects.

    An open-source web development framework called Next.js was developed by Vercel and offers server-side and static rendering for React-based online apps.

    Developers now have access to integrated SEO benefits and an expanding toolkit thanks to Next.js.  The true game-changer?  An expanding collection of nice, free Next.js templates that are ready to be customised and used.

    We are sharing 20+ carefully chosen, free, production-ready, popular, and performance-driven templates in this blog.

    What Makes a Great Next.js Website Template?

    Free templates are not all made equal.  It’s crucial to assess a template’s quality and usefulness before you start developing your website.  When selecting a Next.js website template in 2026, keep the following points in mind:

    • Modern UI Design
    • Performance-Optimized
    • SEO-Ready
    • Reusable Components
    • Tailwind CSS or Styled Components Support
    • Clean & Scalable Code

    20+ Free NextJs Website Templates

    Nicktio

    Framework: Next.js + Tailwind CSS

    Overview: Nicktio is a stunning SaaS-focused Nextjs template designed by WrapPixel. It’s ideal for startups, tech products, and software companies wanting a bold and clean UI for their product marketing websites. Built with Tailwind and optimized for performance.

    Key Features Of Nicktio:

    • Production-ready pages: Pricing, Features, Blog
    • Built with Tailwind CSS for easy customization
    • Responsive, fast-loading, and SEO-friendly

    Next Startd

    Framework: Next.js + Tailwind CSS

    Overview: For developers that wish to begin quickly, Next Started is a clean starter template.  It is ideal for portfolios or basic landing pages because of its clean structure, pre-built routing, and minimalist appearance.

    Key Features Of Next Startd:

    • Lightweight and easy to extend
    • Simple layout with blog support
    • Ideal for MVPs and personal websites

    Homely

    Framework: Next.js + Tailwind CSS

    Overview: Homely is a modern real estate website template made with Next.js. It helps real estate agencies and property agents showcase properties in style, with a clean and user-friendly layout.

    Key Features Of Homely:

    • Property listing sections with filters
    • Modern design optimised for mobile
    • Smooth scrolling and interactive UI

    Whop

    Framework: Next.js + Tailwind CSS

    Overview: The Whop template is designed for Next.js-powered eCommerce website development.  It has user-friendly navigation, product pages, and animations that are well-structured and optimised for conversion.

    Key Features Of Whop:

    • Responsive product and checkout pages
    • Clean, modern storefront UI
    • Built-in animations with Framer Motion

    SaaSCandy

    Framework: Next.js + Tailwind CSS

    Overview: Designed specifically for SaaS firms, SaaSCandy is a sleek and incredibly responsive website template.  It is aesthetically pleasing, optimised for conversion, and simple to modify with good Tailwind CSS utility classes.

    Key Features Of SaaSCandy :

    • SEO-optimized and blazing fast
    • Includes pricing, features, and contact section
    • Designed for SaaS product marketing

    Endeavor

    Framework: Next.js + Tailwind CSS

    Overview: Endeavor is a modern charity & NGO website template built with Next.js. It’s designed for organizations that want to highlight their mission, causes, and donation campaigns with a clean and impactful layout.

    Key Features Of Endeavor:

    • Donation-focused sections with CTAs
    • Responsive design for all devices
    • Easy to showcase causes, events, and volunteer stories

    Open

    Framework: Next.js + Tailwind CSS

    Overview: Open is an beautifully designed open-source template for commercial and startup websites.  It has dark mode, stylish animations, and well-planned content organization.

    Key Features Of Open:

    • Mobile-responsive and dark mode ready
    • Developer-friendly structure
    • Smooth scroll and micro-interactions

    Studiova

    Framework: Next.js + Tailwind CSS

    Overview: A sleek and contemporary Nextjs website template designed for agencies, creative studios, and startups, is Studiova by WrapPixel.  It is a great option for client-facing websites due to its professional style, rich font, and seamless user interface components.

    Key Features Of Studiova:

    • Designed for digital agencies and freelancers
    • Sections for services, team, portfolio, and testimonials
    • Built with Tailwind, Next.js 15 & React 19 for quick styling

    Codebucks

    Framework: Next.js + Tailwind CSS

    Overview: For developers or content producers looking for a quick, SEO-friendly blog setup with modern features like Tailwind and MDX, Codebucks’ blog template is ideal.

    Key Features Of Codebucks:

    • Minimal blog layout with featured images
    • Dark mode support
    • MDX support for easy content management

    Desgy

    Framework: Next.js + Tailwind CSS

    Overview: Desgy is a creative agency template built with Next.js. It’s perfect for agencies, freelancers, and startups looking for a clean and professional site. The design is minimal, fast-loading, and easily customizable.

    Key Features Of Desgy:

    • Responsive and modern design
    • Smooth page transitions and animations
    • Easy to customise sections for portfolio and services

    Stablo

    Framework: Next.js + Tailwind CSS

    Overview: Stablo is a nicely designed magazine-style blog template for writers and bloggers with a creative bent.  With its organized post layouts and contemporary fonts, it provides a high-end feel.

    Key Features Of Stablo:

    • Grid-based blog layout with categories
    • Prebuilt post detail and author pages
    • Clean, elegant UI with modern spacing

    Sustainable

    Framework: Next.js + Tailwind CSS

    Overview: Sustainable is a clean, conversion-optimized SaaS template built with developers in mind. It’s designed to promote software products, tools, or platforms with a modern marketing site.

    Key Features Of Sustainable:

    • High-converting CTA sections
    • SEO-friendly with meta optimization
    • Designed for SaaS product showcases

    Personal

    Framework: Next.js + Tailwind CSS

    Overview: Mirsazza Hossain created this developer portfolio template, which is a modern and unique website design.  It’s ideal for uploading resumes, writing blogs, and showing projects.

    Key Features Of Personal:

    • Personal branding-ready layout
    • Projects, blog, and contact sections
    • Fully responsive and minimal design

    Crypgo

    Framework: Next.js + Tailwind CSS

    Overview: Crypgo is a crypto template made for Next.js projects. It’s built for crypto apps and blockchain startups. The template comes with sleek sections to showcase your token, team, and roadmap.

    Key Features Of Crypgo:

    • Crypto-focused layout with token sale sections
    • Responsive design with dark mode
    • Built-in animations with Framer Motion

    Linkify

    Framework: Next.js + Tailwind CSS

    Overview: For developers creating micro landing sites, personal portfolio hubs, or bio-link utilities, Linkify is a simple and quick link management user interface template.  Easy to use and very practical.

    Key Features Of Linkify:

    • Customizable user profile cards
    • Editable link management dashboard
    • Clean and mobile-friendly UI

    Awake

    Framework: Next.js + Tailwind CSS

    Overview: Awake is a visually striking portfolio template by WrapPixel designed for freelancers, creative studios, and digital agencies. It has smooth transitions and aesthetic layouts to make portfolios shine.

    Key Features Of Awake:

    • Scroll-based animations and effects
    • Clean design with beautiful font choices
    • Fully responsive and easy to customize

    Base Hub

    Framework: Next.js + Tailwind CSS

    Overview: The marketing template for Base Hub was created with speed and flexibility in mind.  For SaaS, product, or API-based tools that need scalable, clear marketing websites, it’s appropriate.

    Key Features Of Base Hub:

    • Content-focused layout for product storytelling
    • Fast loading and SEO-optimized
    • Mobile-first responsive structure

    Abdullah

    Framework: Next.js + Tailwind CSS

    Overview: This elegant and creative agency template by Abdullah is ideal for exhibiting creative teams or portfolios because it has bold font, contemporary divisions, and scroll animations.

    Key Features Of Abdullah:

    • Minimalist navigation and page layout
    • Smooth transitions and animation effects
    • Built with Tailwind for easy customization

    Property PRO

    Framework: Next.js + Tailwind CSS

    Overview: Property PRO is a feature-rich, real estate website template tailored for showcasing listings and agent profiles. It’s ideal for property management startups or realtors.

    Key Features Of Property Pro:

    • Listing cards with filters and search
    • Agent and contact pages included
    • Fully responsive property grid

    Agency

    Framework: Next.js + Tailwind CSS

    Overview: Jaume Gelabert created this clean and professional agency template specifically for small teams, freelancers, and design firms. It has functional areas for services, work, and contact together with simple aesthetics.

    Key Features Of Agency Nextjs:

    • Elegant portfolio/project showcases
    • Modular and scalable folder structure
    • Responsive design and dark mode


    Alvalens Porto

    Framework: Next.js + Tailwind CSS

    Overview: Alvalens Porto is a well-designed portfolio template with animated features and a structured layout for developers and creatives to showcase their work and personal branding.

    Key Features Of Alvalens Porto:

    • Project, About, and Blog pages
    • Clean UI with soft color palette
    • Fully mobile-responsive

    Symposium

    Framework: Next.js + Tailwind CSS

    Overview: Symposium is a well-designed SaaS landing page specifically designed for team and project management applications.  It’s perfect for new businesses who want to market their app in an understandable and eye-catching way.

    Key Features Of Symposium:

    • Sections for features, pricing, and testimonials
    • Clean CTA-driven layout
    • Fast-loading and SEO-ready

    Fyrre Magazine

    Framework: Next.js + Tailwind CSS

    Overview: For editors, content producers, and digital publications, Fyrre is an appealing magazine-style blog template.  It uses contemporary fonts and grid layouts to highlight the reading experience.

    Key Features Of Fyrre Magazine:

    • Multi-post grid layout and featured posts
    • Blog, category, and author templates
    • Typography-focused, clean design

    Venus

    Framework: Next.js + Tailwind CSS

    Overview: Venus is a free Nextjs website template with a premium style that is intended for marketing websites and SaaS applications.  Performance, versatility, and an appealing user interface are all balanced.

    Key Features Of Venus:

    • Rich hero sections and pricing tables
    • Landing, blog, and integrations pages
    • Optimized for speed and conversions

    Build Faster with These Free Nextjs Templates

    These 20+ free Next.js website templates are ideal for building landing pages, blogs, portfolios, or SaaS sites in 2026 as they have beautiful designs, clear code, and developer-friendly architectures.  Build easily, start responsibly, and effortlessly customize.

    You can also explore templates in other frameworks, including options similar to a free React website template.

  • 20+ Developer Friendly Free React Dashboard Templates for 2026

    Are you annoyed by time-wasting, unpolished, generic dashboards?  The correct template can boost your development process, whether you are creating internal tools, establishing an admin panel, or designing a SaaS application. We have carefully selected over twenty plus free, developer-friendly Free React dashboard templates that are not only sleek and contemporary but also optimized for production.  These dashboards, which were created with popular UI frameworks and others, feature such as responsive layouts, clean code, and functional components.

    Save hours of setup time and begin creating something amazing right now. 

    Quality factors to be considered for Free react dashboard templates

    1. Clean and Scalable Codebase- Templates must adhere to best practices and have code that is easily scalable to your project and is well-structured and maintainable.
    1. Responsive Design-  For a flawless user experience, an outstanding dashboard needs to be completely responsive on desktop, tablet, and mobile devices.
    1. Reusable Components- Tables, charts, cards, and menus are examples of components that should be adaptable and modular.
    1. Built with Modern Frameworks- Dashboards using frameworks like Material UI, Tailwind CSS, Ant Design, and Chakra UI often offer better design consistency and performance.
    1. Performance Optimized- Fast rendering, small bundle size, and lazy loading provide improved user experience and more seamless operation.
    1. Developer Documentation- A README or detailed documentation is included with good templates to assist developers get started right away.
    1. Active Community or GitHub Support- A template with GitHub stars, frequent updates, and community contributions guarantees longevity and dependability.

    20+ Free React Admin Dashboard Templates

    Modernize Free React Dashboard

    Framework- Material UI + React

    Modernize Free React Dashboard

    Overview-

    • Using Material UI and React, Modernise provides a simple, user-friendly, and extremely responsive admin dashboard style.  
    • Packed with pre-designed components, ready-to-use charts, and a polished user interface, it’s perfect for internal tools, analytics dashboards, or SaaS applications.

    Key Features of Modernize free react dashboard template

    • Built with Material UI v6
    • Light & Dark modes
    • Fully responsive layouts
    • Clean, modular code structure

    GitHub Stars- 23


    MaterialM

    Framework- Tailwind CSS + React

    Overview-

    • MaterialM combines a contemporary dashboard interface for React developers with the adaptability of Tailwind CSS.  
    • It is a production-ready, lightweight template with a responsive layout, a clear user interface, and necessary elements.
    • Excellent for people who want a utility-first design.

    Key Features of MaterialM

    • Material Design-inspired layout
    • Easy customization for scalability
    • Pre-integrated routing and components

    Devias Kit

    Framework- Material UI + React

    Overview-

    • A developer’s favourite for creating simple and advanced admin dashboards is Devias Kit.  
    • It has important dashboard features, a modular architecture, and authentication flows built on top of Material UI.  
    • Ideal for client projects requiring Material Design aesthetics or rapid prototyping.

    Key Features of Devias

    • Responsive dashboard pages
    • Clean Material UI integration
    • Authentication screens included

    GitHub Stars- 5.5k


    Minimal Free

    Framework- Material UI + React

    Overview-

    • Minimal Free’s clean, minimalistic user interface is true to its name.  
    • It’s an ideal place to start for projects that prioritise speed and simplicity because of its simple components, minimalist design, and completely responsive layout.

    Key Features of Minimal

    • Quick loading and lightweight
    • Dashboard widgets that are customisable
    • Material UI theme with minimal elements

    GitHub Stars- 2.6k 


    Spike

    Framework- Nextjs + MUI

    Overview-

    • Spike offers a customisable dashboard layout by combining MUI power.  
    • Developers can easily jump-start admin UIs without over-engineering with Spike’s pre-styled widgets, chart components, and sidebar navigation.

    Key Features of Spike

    • Google Fonts and trendy fonts
    • Pre-made analytics elements
    • Styled using SCSS and Material UI

    Tailwindadmin

    Framework- Tailwind CSS + React + Shadcn UI

    Overview-

    • Tailwindadmin is a free, open-source shadcn admin dashboard template built with React & Tailwind CSS. It offers developers a flexible and customizable foundation for creating modern web applications.

    Key Features of Tailwindadmin

    • Built with React v19 and Tailwind CSS v4 for better compatibility
    • 10+ UI Components & 3 Page Templates
    • Pre-designed Pages (like Dashboard, Login, Register, User Profile, Tables, Charts, and Error pages, etc.)
    • Flexible Layouts (like Built-in sidebar, topbar, and page layout structures)

    GitHub Stars- 60


    Horizon UI

    Framework- Chakra UI + React

    Overview-

    • The sleek and contemporary free react dashboard template is built on Chakra UI and is made to be quick and easy to use.  
    • It is perfect for SaaS products and internal dashboards because of its support for light and dark modes, reusable parts, and simple design.

    Key Features of Horizon UI

    • Chakra-based user interface elements
    • Pre-made profile and authentication pages
    • Toggle between a dark and light theme

    GitHub Stars- 2.7k


    Matdash

    Framework- Tailwind + React

    Overview-

    • With side navigation, stat cards, charts, and user pages, Matdash offers a user interface that is influenced by materials.
    • Its responsive layout and clear code structure, created using Tailwind, make it ideal for project management applications, admin panels, and dashboards.

    Key Features of MatDash

    • Responsive and accessible layout
    • Sidebar navigation

    GitHub Stars- 18


    Volt React

    Framework- Bootstrap 5 + React

    Overview-

    • Volt React creates an adaptable dashboard user interface by combining the modularity of React with the grid layout of Bootstrap 5.  
    • It is ideal for brief client demos or lightweight dashboards because it includes simple page layouts, components, charts, and form elements.

    Key Features of Volt React

    • Bootstrap 5 and SCSS architecture
    • Google Fonts and icons included
    • 10+ pre-built pages

    GitHub Stars- 974


    MaterialPro

    Framework- Material UI + React

    Overview-

    • MaterialPRO is a top-tier admin dashboard template known for its modern design and strong presence. 
    • It offers everything you need to start professional-grade dashboards with little setup, including dynamic data visualisations, strong UI elements, and a clean Material Design style.

    Key Features of MaterialPro

    • Clear code that is simple to reuse
    • Sidebar with menus that can be folded up
    • Numerous charts and widgets

    GitHub Stars- 23


    Airframe

    Framework- React + Reactstrap

    Overview-

    • Airframe is a top-notch, simple dashboard template created with React and Reactstrap.  
    • For applications where performance and flexibility are crucial, it offers more than ten layout alternatives, completely responsive pages, charts, and widgets that may be customized.

    Key Features of Airframe

    • Tailwind CSS-based styling
    • Lightweight and minimal components
    • Responsive mobile-first design

    GitHub Stars- 4k


    Tabler React

    Framework- React

    Overview-

    • Tabler React provides a simple and developer-friendly admin interface.
    • It’s ideal for teams who desire quick setup and experience with react because it includes pre-made components like tables, charts, and notifications.

    Key Features of Tabler

    • Grid layout that is responsive
    • Several pre-made elements

    GitHub Stars- 2.3k 


    Shards

    Framework- React + Bootstrap + Shards UI

    Overview-

    • With its advanced UI elements, simple aesthetics, and compatibility with Bootstrap 4, Shards is a stunningly designed dashboard created with Shards UI.  
    • It’s perfect for developers that want to quickly create aesthetically pleasing admin interfaces.

    Key Features of Shards

    • Built on top of Shards UI Kit
    • Pre-built dashboard pages
    • Lightweight, fast, and clean

    GitHub Stars- 1.7k


    Reduction

    Framework- React + Bootstrap

    Overview-

    • Reduction is a robust and tidy free React dashboard template that works well for intricate applications requiring state management. 
    • It also has well-documented code, form components, and charts.

    Key Features of Reduction

    • UI influenced by Material Design from Google
    •  Combined graphs and charts
    •  Navigation panel on the side

    GitHub Stars- 1.5k 


    Visactor

    Framework- Next.js + Tailwind CSS

    Overview-

    • Visactor is a cutting-edge, lightweight SaaS dashboard constructed with Tailwind CSS and Next.js.  
    • It is intended for developers and companies looking for production-ready templates with less setup time, and it features responsive pages and an intuitive user interface.

    Key Features of Visactor

    • Next.js-powered performance
    • Fully responsive grid layout
    • Data visualization with charts

    Dashboard UI

    Framework- React + Tailwind CSS

    Overview-

    • Dashboard UI is a simple, free admin panel template that has all the necessary parts and a clear user interface.  
    • It is responsive and made with Tailwind CSS for quick prototyping and production use.

    Key Features of Dashboard UI

    • Lightweight with basic dependencies
    • Clean and readable codebase
    • Table and form components

    GitHub Stars- 85


    Vitesse

    Framework- Vite + React + Tailwind CSS

    Overview-

    • This Vite-powered free React dashboard template, which was inspired by Vue’s Vitesse, features stunning Tailwind UI elements, clean code, and lightning-fast speed.  
    • It works well for internal dashboards or building present-day SaaS.

    Key Features of Vitesse

    • Vite-powered quick construction
    • Support for Tailwind 
    • Reusable user interface components

    GitHub Stars- 20 


    AntD

    Framework- React + Vite + Typescript + Ant Design

    Overview-

    • This dashboard, which features professional-grade forms, table designs, and user interface elements, was created with Ant Design.  
    • It’s simple UX and broad customisation make it ideal for internal admin tools and enterprise apps.

    Key Features of AntD

    • Built on Ant Design System
    • Role-based route control
    • Dashboard widgets included

    GitHub Stars- 205


    ShadCN

    Framework- React + ShadCN UI + Tailwind CSS

    Overview-

    • Based on ShadCN UI, this admin template offers a versatile and user-friendly design approach for contemporary user interfaces.  
    • Radix primitives and Tailwind utility classes make it ideal for developers who desire maximum customisation and excellent accessibility.

    Key Features of ShadCN

    • Utilising Radix UI and Tailwind
    • Modular and easily accessible parts

    GitHub Stars- 8k 


    Devwares

    Framework- React + Bootstrap

    Overview-

    • This free admin dashboard template includes charts, reusable elements, and a simple layout.  
    • Because it allows for customisation, it’s perfect for admin panels, analytics apps, and SaaS dashboards.

    Key Features of Devwares

    • Fully responsive and mobile-friendly
    • Material UI-based theming and components
    • Clean code architecture for scalability

    GitHub Stars- 6


    Flatlogic

    Framework- React + Material UI

    Overview-

    • This well-organised dashboard is designed to be both scalable and performant.  
    • It has a contemporary Material UI-based design, dynamic forms, and data visualisation features.  
    • Ideal for challenging business applications.

    Key Features of Flatlogic

    • Authentication and role-based access control
    • Flat UI design for professional interfaces

    GitHub Stars- 1.6k


    Conclusion

    This selection of 20+ free React dashboard templates for developers gives you a good start, regardless of your preference for something feature-rich or minimalist.

    You don’t need to start from scratch because the majority of these templates are responsive, modular, and production-ready. With confidence, explore, modify, and begin your next React admin dashboard project.

    Also if you are looking to build websites in react, you can also check our curated list of best free react website templates of 2026.

  • Top Free Flowbite Dashboard Templates for Developers in 2026

    Ready-made flowbite admin templates are essential for developers who want to build stunning, responsive web apps with minimal effort.

    What is a Flowbite Dashboard Template?

    A Flowbite Dashboard Template is a pre-designed admin panel layout built using Flowbite, a popular UI component library based on Tailwind CSS. These templates provide a ready-to-use structure for creating modern, responsive, and interactive dashboards for web applications.

    Why Use a Flowbite Dashboard Template ?

    Saves Development Time – No need to build UI components from scratch.
    Fully Responsive – Works smoothly on all devices.
    Customizable – Easily adapt styles and layouts to match your project.
    Beginner & Developer Friendly – Simple to use yet powerful for advanced customization.

    Flowbite is becoming a popular UI Library after shadcn that works with Tailwind CSS to create beautiful and functional dashboards. 

    In this article, we’ll look at Flowbite dashboards you can use in 2026 to build admin panels easily & faster

    MaterialM

    MaterialM is a sleek and powerful admin template designed for modern web applications. Built with React and Flowbite React, it offers a highly customizable UI with clean code and a visually appealing design.

    This flowbite template is a great choice for developers who want a modern and stylish admin panel. It comes with all the basic UI components you need, like buttons, charts, and tables. You can easily change colors, layouts, and styles to match your project.

    Key Features of MaterialM

    • Modern, Responsive Design
    • Built with React, Tailwind CSS & Flowbite React
    • Uses Tailwind CSS & Flowbite for a clean design
    • Customizable ShadCN UI components
    • Ready-to-use admin panel elements

    This template is perfect for developers who want to create a professional-looking dashboard without starting from scratch.


    MatDash

    MatDash is a lightweight and fast admin template made for Next.js projects. It’s easy to set up and has all the essential components you need to create a fully functional dashboard.

    Key Features of MatDash

    • Built Tailwind CSS & Next.js for fast performance
    • Uses Flowbite React v2.5.2 for Modern Designs
    • Optimized for performance and SEO
    • Clean and intuitive UI

    Matdash is an excellent Next.js dashboard that integrates seamlessly with Flowbite React. It provides a fast, lightweight, and modern design that’s easy to customize, making it a great choice for developers building React applications.


    Themesberg

    Themesberg’s Flowbite Admin Dashboards is great for developers who want a ready-made solution. It includes various pre-built UI elements, so you can create a functional admin panel quickly.

    free Flowbite admin dashboard Template

    Key Features of Themesberg

    • Pre-designed charts, tables, widgets, and modals
    • Includes CRUD layouts and drawers
    • Optimized for responsive design
    • Built with the latest UI/UX trends
    • Modern UI for professional dashboards.

    This Flowbite Template is a powerful free admin panel template offering a variety of UI components that developers can use to build feature-rich applications. It includes advanced UI elements like tables, charts, and modals, making it a versatile choice for different admin panel needs.


    Alonso Nava

    Alonso Nava is a great Flowbite-based template designed for beginners who want a visually appealing and easy-to-use admin panel. Built with Angular and Flowbite, this template provides a clean and modern UI while maintaining simplicity for new developers.

    Alonso Nava free Flowbite admin dashboard Template Angular

    Key Features of Alonso Nava

    • Beginner-Friendly – Perfect for developers new to Flowbite and Angular.
    • Visually Appealing UI – A clean and stylish design for a great user experience.
    • Built with Flowbite Components – Ensures smooth and responsive layouts.

    Perfect For: Developers looking for an easy-to-customize Angular-based dashboard with Flowbite UI. 🚀


    Windster

    This flowbite template is great for beginners who want a simple but powerful admin template. It includes many UI components, making it a fantastic option for building modern web applications.

    Windster free Flowbite admin dashboard Template

    Key Features of Windster

    • Built with Hugo, Tailwind CSS, and Flowbite
    • Ready-to-use UI components
    • Beautiful design inspired by Material Design
    • Open-source and fully customizable

    This template is a feature-packed webpack moduler bundler-based admin dashboard template that uses Flowbite and Tailwind CSS to deliver a modern, stylish UI. It’s a great option for developers who want a free and open-source template with powerful design elements.


    Wrapping Up with WrapPixel

    Using a free Flowbite template is a great way to save time while building an admin panel. Each template offers a unique design, useful UI components, and smooth integration with Tailwind CSS, making them perfect for developers in 2026.

    Which Flowbite Dashboard Should You Choose?

    If you’re a beginner, go with MaterialM — it is easy to use and customize.

    If you want fast performance, choose Matdash (built with Next.js).

    For a feature-rich template with advanced UI elements, go for Themesberg Flowbite Admin Dashboard.

    If you have built any Flowbite-based dashboard, Mail us at Sanjay(at)wrappixel.com – we’ll review it and add it to our listing 😊

    👨‍💻 Happy Coding </>

  • NextJs Cheat Sheet: Ultimate Guide for Next.js developers 2026

    With ever so increasing rise in popularity of NextJs, it has become quite a standard to use it for server-side React web applications. So, that means the NextJs cheat sheet will be your main asset going forward.

    It gets all the features of React.js – the JavaScript’s UI library to build components and adds so many additional features that sometimes as a NextJs developer it’s hard to catch up on the different code snippets, commands to run, packages to install.

    Whether you’re a beginner or a seasoned pro, this cheat sheet will serve as a valuable resource. Now, let’s explore the specifics that can greatly enhance your NextJs projects. You can also check WrapPixel’s ready to use Nextjs Templates to speed up your development workflow.

    This NextJs Cheat sheet will be solution to all your next js coding problems.

    To solve this issue, we have created a to-the-point NextJs cheat sheet of all the features that will benefit all developers – be they a beginner or a pro. Let’s dive in!


    What is NextJs?

    If you don’t know what is nextjs. Then let me tell you.
    According to its definition on the official docs:

    • Next.js is a flexible React Framework that gives you building blocks to create seo friendly fast Web Applications.
    next.js cheat sheet

    Basically, it provides some of the crucial features and building blocks on top of a standard React.js application to make a modern website and apps.


    NextJs Cheat Sheet

    Given below is the Next.js cheat sheet that you can use in your next web project.

    Create App Using Nextjs Cheat Sheet

    In this first step of the NextJs cheat sheet, we will create a NextJs app, the recommended process is to use the official create-next-app command which sets up all the necessary files, folders, and configuration automatically.

    npx create-next-app@latest
    # OR
    yarn create next-app

    Then run npm run dev or yarn dev to start the local development server on http://localhost:3000.

    Alternatively, if you manually want to install NextJs, then first you should install next, react, and react-dom in your project as:

    npm install next react react-dom
    # OR
    yarn add next react react-dom

    Inside your package.json file, add the following scripts:

    "scripts": {
      "dev": "next dev",
      "build": "next build",
      "start": "next start",
      "lint": "next lint"
    }

    Use TypeScript, ESLint and npm.

    npx create-next-app --typeScript --eslint --use-npm

    Create Pages

    To create a simple static page, under the pages directory, create a file named demo.js which exports a React component:

    function Demo() {
      return <h1>Demo</h1>
    }
    export default Demo

    This page will be available at http://localhost:3000/demo of your local environment.


    App Router

    Next.js has always been known for its file-system-based routing, a simple yet powerful way to define pages using just the filesystem. For example, in the classic Pages Router, you could create a route like this: No additional configuration needed just create a file under the pages/ directory and Next.js would automatically map it to a route. This simplicity helped Next.js gain widespread adoption.
    But as the framework matured, so did the needs of developers.

    They began asking for:

    • Better layout support (nesting, reusability)
    • Per-page loading and error states
    • Server components and streaming
    • More granular control over HTML structure and styling

    To address these needs, Next.js introduced the App Router in version 13.

    // Pages Router
     
    import React from 'react';
    export default () => <h1>About us</h1>;

    // New: App Router ✨
    export default function RootLayout({ children }) {
      return (
        <html lang="en">
          <body>{children}</body>
        </html>
      );
    }

    export default function Page() {
      return <h1>Hello, Next.js!</h1>;
    }

    // Pages Router
     
    // This "global layout" wraps all routes. There's no way to
    // compose other layout components, and you cannot fetch global
    // data from this file.
    export default function MyApp({ Component, pageProps }) {
      return <Component {...pageProps} />;
    }

    // New: App Router ✨
    // The root layout is shared for the entire application
    export default function RootLayout({ children }) {
      return (
        <html lang="en">
          <body>{children}</body>
        </html>
      );
    }

    // Layouts can be nested and composed
    export default function DashboardLayout({ children }) {
      return (
        <section>
          <h1>Dashboard</h1>
          {children}
        </section>
      );
    }

    // Pages Router
     
    // This file allows you to customize the <html> and <body> tags
    // for the server request, but adds framework-specific features
    // rather than writing HTML elements.
    import { Html, Head, Main, NextScript } from 'next/document';
     
    export default function Document() {
      return (
        <Html>
          <Head />
          <body>
            <Main />
            <NextScript />
          </body>
        </Html>
      );
    }

    // New: App Router ✨
    // The root layout is shared for the entire application
    export default function RootLayout({ children }) {
      return (
        <html lang="en">
          <body>{children}</body>
        </html>
      );
    }

    A lot of other relevant feature requests for our routing system could be addressed at the same time as we had the chance to design a new file-system router. For instance:

    In the past, app.js could only import global stylesheets from outside npm packages (such as component libraries). It was not the best development experience. Any CSS file can be imported (and placed) in any component using the App Router.

    Previously, using your application was restricted until the full page was hydrated if you choose to use server-side rendering with Next.js (through getServerSideProps). We have refactored the architecture with the App Router to be fully integrated with React Suspense, allowing us to selectively hydrate portions of the page without preventing other UI components from being interactive.


    Turbopack

    Through next dev –turbo and soon your production builds (next build –turbo), Turbopack, our new bundler that we are testing and stabilising through Next.js, helps speed up local iterations while working on your Next.js application.

    We have witnessed a steady increase in popularity since the alpha release of Next.js 13 as we have worked to fix problems and add support for lacking functionality. To get feedback and increase stability, we have been testing Turbopack on Vercel and with numerous Vercel clients running substantial Next.js websites. We appreciate the community’s assistance in testing and alerting our team to bugs.

    We are now prepared to advance into the beta phase after six months.

    Webpack and Next.js currently have more features than Turbopack does. Support for those functionalities is being tracked in this issue. The majority of use cases ought to be supported today, though. In order to continue addressing bugs from greater adoption and get ready for stability in a future version, we are releasing this beta.

    Turbopack’s incremental engine and cache layer are being improved, and this will eventually speed up not only local development but also production builds. Keep an eye out for a future release of Next.js that will allow you to run next build –turbo for instant builds.

    Use next dev –turbo to test out the Turbopack beta in Next.js 13.4.


    File-Based Metadata API

    By exporting a Metadata object from a layout or page, you can define metadata (such as title, meta, and link tags inside your HTML head element) using the new Metadata API that was introduced in Next.js 13.2.

    // either Static metadata
    export const metadata = {
      title: 'Home',
    };
    // Output:
    // <head>
    //	 <title>Home</title>
    // </head>
     
    // or Dynamic metadata
    export async function generateMetadata({ params, searchParams }) {
      const product = await getProduct(params.id);
      return { title: product.title };
    }
    // Output:
    // <head>
    //	 <title>My Unique Product</title>
    // </head>
     
    export default function Page() {}

    The Metadata API now supports new file conventions in addition to configuration-based metadata, making it simple to quickly alter your pages for better SEO and online sharing:

    opengraph-image. ( jpg | png | svg )
    twitter-image. ( jpg | png | svg )
    favicon.ico icon. ( ico | jpg | png | svg )
    sitemap. ( xml | js | jsx | ts | tsx )
    robots. ( txt | js | jsx | ts | tsx )
    manifest. ( json | js | jsx | ts | tsx )


    Dynamic Open Graph Images

    At the Next.js Conference, @vercel/og was put to the test by creating over 100,000 dynamic ticket pictures for each guest. We are thrilled to introduce dynamically generated images to all Next.js applications without the requirement for an external package thanks to widespread adoption among Vercel clients and over 900,000 downloads since the release.

    To create images, you may now import ImageResponse from next/server:

    import { ImageResponse } from 'next/server';
     
    export const size = { width: 1200, height: 600 };
    export const alt = 'About Acme';
    export const contentType = 'image/png';
    export const runtime = 'edge';
     
    export default function og() {
      return new ImageResponse();
      // ...
    }

    Route Handlers and file-based Metadata are only two of the Next.js APIs that work well with ImageResponse. For instance, you can create Open Graph and Twitter pictures at build time or dynamically at request time using ImageResponse in an opengraph-image.tsx file.


    Static Export for App Router

    Fully static exports are now supported by the Next.js App Router.

    A static website or Single-Page Application (SPA) can be used as a starting point, and you can later upgrade to employ Next.js features that demand a server.

    As part of the next build process, Next.js creates an HTML file for each route. A strict SPA can be broken down into separate HTML files with the help of Next.js to prevent extra JavaScript code from being loaded on the client-side, hence lowering the bundle size and enabling quicker page loads.

    /**
     * @type {import('next').NextConfig}
     */
    const nextConfig = {
      output: 'export',
    };
     
    module.exports = nextConfig;

    The app router’s new features, like static Route Handlers, Open Graph images, and React Server Components, are compatible with Static Export.

    Like traditional static-site generation, Server Components, for instance, will execute throughout the build and render the components into static HTML for the initial page load and a static payload for client movement across routes. Before, you had to perform the next export before using Static Export in the pages directory. However, when output: ‘export‘ is set, the next build will produce an out directory thanks to the next.config.js option. The app router and pages directory can both be configured in the same way. Therefore, the subsequent export is no longer necessary.


    Parallel Routes and Interception

    Parallel Routes and Intercepting Routes are two brand-new dynamic conventions that Next.js 13.3 introduces to help you create complex routing scenarios. With the help of these features, you can display multiple pages in the same view, such as with intricate dashboards or modals.

    You can simultaneously render one or more pages in the same view that can be accessed separately using Parallel Routes. It can also be used to render pages conditionally.

    Named “slots” are used to build parallel routes. According to the @folder convention, slots are defined:

    dashboard
    ├── @user
    │   └── page.js
    ├── @team
    │   └── page.js
    ├── layout.js
    └── page.js
    export default async function Layout({ children, user, team }) {
      const userType = getCurrentUserType();
     
      return (
        <>
          {userType === 'user' ? user : team}
          {children}
        </>
      );
    }

    The @user and @team parallel route slots (explicit) in the aforementioned example are conditionally produced based on your reasoning. The implicit route slot children does not require mapping to a @folder. Dashboard/page.js, for instance, is identical to Dashboard/@children/page.js.

    By “masking” the browser URL, you can load a new route within the existing layout by intercepting routes. When the context of the current page must be preserved, such as when expanding a photo in a feed through a modal while the feed is kept in the modal’s background, this is helpful.


    Style Your Next.js App

    There are many ways to style your apps in this step of the NextJs cheat sheet, some of the common methods are:

    • Global styling: import the global styles.css in your pages/_app.js where these styles will apply to all pages and components in your app as:
    import '../styles.css'
    export default function MyApp({ Component, pageProps }) {
      return <Component {...pageProps} />
    }
    • Component-Level CSS: NextJs supports CSS Modules where you can name the files as [name].module.css and then import it on a specific component. Here’s an example:
    // Button.module.css 
    .error {
      color: white;
      background-color: red;
    }
    // Button.jsx
    import styles from './Button.module.css'
    export function Button() {
      return (
        <button
          type="button"
          className={styles.error}
        >
          Cancel
        </button>
      )
    }
    • Using SASS: first, you need to install the SASS package on your NextJs app:
    npm install --save-dev sass

    Then you can configure the SASS compiler options in next.config.js file:

    const path = require('path')
    module.exports = {
      sassOptions: {
        includePaths: [path.join(__dirname, 'styles')],
      },
    }

    Optimize Images & Fonts

    In this step of the NextJs cheat sheet, to optimize images you should use the built-in Image component. Install it in your project as:

    import Image from 'next/image'

    Then give it an src attribute as shown in the following example:

    import Image from 'next/image'
    const myLoader = ({ src, width, quality }) => {
      return `https://example.com/${src}?w=${width}&q=${quality || 75}`
    }
    const MyImage = (props) => {
      return (
        <Image
          loader={myLoader}
          src="me.png"
          alt="Picture of the author"
          width={500}
          height={500}
        />
      )
    }

    Optimize Fonts

    In this step of the Next.js cheat sheet, to optimize fonts you should use the built-in next/font module which loads fonts locally or from Google Fonts with performance best practices like automatic preloading, subsetting, and font-display swapping.

    import { Inter } from 'next/font/google';
    
    const inter = Inter({
      subsets: ['latin'],
      display: 'swap',
    });

    First, import a font from next/font/google (for Google Fonts) or next/font/local (for self-hosted fonts)


    Custom 404 Pages

    To create custom 404 page, create a 404.js file in the pages folder

    export default function Custom404() {
      return <h1>404 - Page Not Found</h1>
    }

    You can also create a 500.js file for the server error 500 page


    Async Request APIs Breaking Change

    Asynchronous Request Object

    export async function POST(req: Request) {
      const data = await req.json();
      return Response.json({ received: data });
    }

    Next.js 15 enforces stricter usage of request objects in Server Components. You can no longer access request methods like req.json() or req.body() directly in the App Router unless they’re awaited properly inside a POST handler.


    Asynchronous Cookies API

    In Next.js 15, the cookies() API has transitioned from synchronous to asynchronous. This means you now need to use await cookies() instead of calling it directly. The change allows for better support of async storage mechanisms and prepares the framework for future features like enhanced streaming and edge compatibility.

    import { cookies } from 'next/headers' 
    // Before
    const cookieStore = cookies()const token = cookieStore.get('token')
     // After 
    const cookieStore = await cookies()const token = cookieStore.get('token')

    Asynchronous Headers api

    In Next.js 15, the headers() API has also moved from synchronous to asynchronous. You now need to await headers() before accessing header values. This update ensures compatibility with future enhancements like streaming, middleware, and edge rendering.

    import { headers } from 'next/headers'
     
    // Before
    const headersList = headers()
    const userAgent = headersList.get('user-agent')
     
    // After
    const headersList = await headers()
    const userAgent = headersList.get('user-agent')

    Asynchronous Layout (Major Changes) 

    In Next.js 15, layouts are now asynchronous by default meaning your layout files can use async/await without any special configuration. This is especially useful for loading data at the layout level (e.g., fetching user or theme preferences).

    // Before
    type Params = { slug: string }
     
    export function generateMetadata({ params }: { params: Params }) {
      const { slug } = params
    }
     
    export default async function Layout({
      children,
      params,
    }: {
      children: React.ReactNode
      params: Params
    }) {
      const { slug } = params
    }
     
    // After
    type Params = Promise<{ slug: string }>
     
    export async function generateMetadata({ params }: { params: Params }) {
      const { slug } = await params
    }
     
    export default async function Layout({
      children,
      params,
    }: {
      children: React.ReactNode
      params: Params
    }) {
      const { slug } = await params
    }

    Async Route Handlers

    In Next.js 15, Route Handlers are now asynchronous by default. This means you can directly use await inside route handler functions (e.g. GET, POST) without manually wrapping them in async.

    // Before
    type Params = { slug: string }
     
    export async function GET(request: Request, segmentData: { params: Params }) {
      const params = segmentData.params
      const slug = params.slug
    }
     
    // After
    type Params = Promise<{ slug: string }>
     
    export async function GET(request: Request, segmentData: { params: Params }) {
      const params = await segmentData.params
      const slug = params.slug
    }

    SWR

    It is a React Hooks library for remote data fetching on the client

    You can use it inplace of useEffect

    import useSWR from 'swr'
    
    export default function Home() {
      const { data, error } = useSWR('api/user', fetch)
    
      if (error) return <div>failed to load</div>
      if (!data) return <div>loading...</div>
    
      return (
        <>
          {data.map((post) => (
            <h3 key={post.id}>{post.title}</h3>
          ))}
        </>
      )
    }

    Fetch Data

    In the NextJs cheat sheet, there are many ways to fetch data from external sources to your NextJs app, here are some:

    • getServerSideProps: if you want your app to pre-render a page on each request, then the getServerSideProps function should be exported as so:
    export async function getServerSideProps(context) {
      return {
        props: {},
      }
    }

    Here’s an example to fetch data at request time which pre-renders the result it gets back from the data source:

    function Page({ data }) {
      // Code to render the `data`
    }
    export async function getServerSideProps() {
      const res = await fetch(`https://.../data`)
      const data = await res.json()
      return { props: { data } }
    }
    export default Page
    • getStaticPaths: if you want to dynamically generate routes on your app alongside with getStaticProps then, getStaticPaths will pre-render all the paths provided to it as:
    export async function getStaticPaths() {
      return {
        paths: [
          { params: { ... } }
        ],
        fallback: true 
      };
    }
    • getStaticProps: if you want NextJs to generate a page at build time using the props passed to it, then getStaticProps should be exported as:
    export async function getStaticProps(context) {
      return {
        props: {}, 
      }
    }

    Note that the props here must be passed to the page component as props. An example of its usage when you want the data to fetch from a CMS is as follows:

    function BlogPosts ({ posts }) {
      return (
        <>
          {posts.map((post) => (
            <h1>{post.title}</h1>
            <p>{post.summary}</p>
          ))}
        </>
      )
    }
    export async function getStaticProps() {
      const res = await fetch('https://.../posts')
      const posts = await res.json()
      return {
        props: {
          posts,
        },
      }
    }
    export default BlogPosts
    • Incremental Static Regeneration(ISR): if you want to create or update existing static pages after you’ve built your site, then ISR allows you to statically generate on a per-page basis. This means that now you don’t need to rebuild the entire site from scratch.

    For this to work, you just need to add the revalidate prop to the getStaticProps method:

    export async function getStaticProps(context) {
      return {
        props: {},
        revalidate: 5 // this means the request to re-generate the page will berevalidated once in every 5 seconds
      }
    }
    • Fetch data on client-side: this can be done in two different ways — either via the useEffect hook as:
    function User() {
      const [data, setData] = useState(null)
      const [isLoading, setLoading] = useState(false)
      useEffect(() => {
        setLoading(true)
        fetch('api/user-data')
          .then((res) => res.json())
          .then((data) => {
            setData(data)
            setLoading(false)
          })
      }, [])
      if (isLoading) return <p>Loading user data...</p>
      if (!data) return <p>No user data found</p>
      return (
        <div>
          <h1>{data.name}</h1>
          <p>{data.bio}</p>
        </div>
      )
    }

    or via the SWR library which handles caching, revalidation, focus tracking, re-fetching on intervals, and more as:

    import useSWR from 'swr'
    const fetcher = (...args) => fetch(...args).then((res) => res.json())
    function User() {
      const { data, error } = useSWR('/api/user-data', fetcher)
      if (error) return <div>Failed to load user data</div>
      if (!data) return <div>Loading user data...</div>
      return (
        <div>
          <h1>{data.name}</h1>
          <p>{data.bio}</p>
        </div>
      )
    }

    Linting Your Code

    You can use ESLint out-of-the-box for linting. Simply add the following script to the package.json file:

    "scripts": {
      "lint": "next lint"
    }

    Now you can run npm run lint or yarn lint to start the linter. If you are using ESLint in a monorepo where NextJs isn’t installed in your root directory, you just simply add the rootDir to your .eslintrc file:

    {
      "extends": "next",
      "settings": {
        "next": {
          "rootDir": "packages/my-app/"
        }
      }
    }

    To use Prettier with ESLint settings, first install the dependency:

    npm install --save-dev eslint-config-prettier
    # OR
    yarn add --dev eslint-config-prettier

    And then add prettier to your existing ESLint configuration file:

    {
      "extends": ["next", "prettier"]
    }

    TypeScript Support

    TypeScript support is also one of the NextJs cheat sheets. To use TypeScript with NextJs when you start an app, use the create-next-app command along with the –ts or –typescript flag:

    npx create-next-app@latest --ts
    # or
    yarn create next-app --typescript

    This will spin up a new NextJs project with all the Typescript files and components without any extra configuration. 

    But if you want to integrate TypeScript in an existing project then, create a new tsconfig.json file at the root of the project directory. Then run npm run dev or yarn dev, with this Next.js will guide you through the installation of the required packages to finish setting up TypeScript integration.


    Using Scripts

    We are going to use scripts in this step of the NextJs cheat sheet, the native HTML <script> element is replaced by next/script component in NextJs. Here’s an example of loading a Google Analytics script:

    import Script from 'next/script'
    export default function Home() {
      return (
        <>
          <Script src="https://www.google-analytics.com/analytics.js" />
        </>
      )
    }

    First, you import the script component:

    import Script from 'next/script'

    Next, there are different ways to handle scripts with this component which can be set by the strategy property with one of the following three values:

    1. beforeInteractive: load the script before the page is interactive.
    2. afterInteractive: load the script immediately after the page becomes interactive.
    3. lazyOnload: load the script during idle time.

    Here’s an example:

    <script
      src="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js"
      strategy="beforeInteractive"
    />

    App-Level Routing

    In the next step of the NextJs cheat sheet, NextJs has a file-system-based router that works on the concept of pages. You can either have index routes like pages/index.js which map to / and pages/blog/index.js which map to /blog.

    Or you can have nested routes where it supports nested files. For example, a file located on pages/blog/my-post.js will route to /blog/my-post.

    For dynamic routes, you need to use the bracket syntax so that it can match named parameters. For example, pages/[username]/settings.js will map to /johndoe/settings.

    The <Link> component is used to do client-side route transitions. First, you need to import it as:

    import Link from 'next/link'

    Then, use it in a component:

    import Link from 'next/link'
    function Home() {
      return (
        <ul>
          <li>
            <Link href="/">
              <a>Home</a>
            </Link>
          </li>
          <li>
            <Link href="/about">
              <a>About Us</a>
            </Link>
          </li>
          <li>
            <Link href="/blog/hello-world">
              <a>Blog Post</a>
            </Link>
          </li>
        </ul>
      )
    }
    export default Home

    For dynamic paths, you can use string interpolation to create the desired path:

    import Link from 'next/link'
    function Posts({ posts }) {
      return (
        <ul>
          {posts.map((post) => (
            <li key={post.id}>
              <Link href={`/blog/${encodeURIComponent(post.slug)}`}>
                <a>{post.title}</a>
              </Link>
            </li>
          ))}
        </ul>
      )
    }
    export default Posts

    API Routing

    Any file inside the pages/api folder is mapped to /api/* which will be treated as an API endpoint. For example, to return a JSON response with an OK status code of 200, you can export a handler function with req and res passed as parameters:

    export default function handler(req, res) {
      res.status(200).json({ name: 'John Doe' })
    }

    To handle different HTTP methods, you can use the req.method in your request handler:

    export default function handler(req, res) {
      if (req.method === 'POST') {
        // Process a POST request
      } else {
        // Handle any other HTTP method
      }
    }

    Middlewares

    1. To use middlewares in NextJs, first install the latest version of Next:
    npm install next@latest
    1. Then create a _middleware.ts file inside your /pages directory
    2. Finally, export a middleware function form the same file:
    import type { NextFetchEvent, NextRequest } from 'next/server'
    export function middleware(req: NextRequest, ev: NextFetchEvent) {
      return new Response('Hello, world!')
    }

    For example, here is an example where middleware is used for logging:

    import { NextRequest } from 'next/server'
    // Regex for public files
    const PUBLIC_FILE = /\.(.*)$/
    export default function middleware(req: NextRequest) {
      // Only log for visited pages
      if (!PUBLIC_FILE.test(req.nextUrl.pathname)) {
        // We fire and forget this request to avoid blocking the request until completion
        // and let logging occur in the background
        fetch('https://in.logtail.com', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json',
            Authorization: `Bearer ${process.env.LOGTAIL_TOKEN}`,
          },
          body: JSON.stringify({
            message: 'Log from the edge',
            nested: {
              page: req.nextUrl.href,
              referrer: req.referrer,
              ua: req.ua?.ua,
              geo: req.geo,
            },
          }),
        })
      }
    }

    Authentication

    There are many different ways to authenticate a user in a NextJs app. Some of the common ones are:

    1. Authenticating statically generated pages: here, your page can render a loading state from the server after which it will fetch the user data from the client side. In the following example, the page renders a loading skeleton state and once the request is met, it shows the user’s name:
    import useUser from '../lib/useUser'
    import Layout from '../components/Layout'
    const Profile = () => {
      // Fetch the user client-side
      const { user } = useUser({ redirectTo: '/login' })
      // Server-render loading state
      if (!user || user.isLoggedIn === false) {
        return <Layout>Loading...</Layout>
      }
      // Once the user request finishes, show the user
      return (
        <Layout>
          <h1>Your Profile</h1>
          <pre>{JSON.stringify(user, null, 2)}</pre>
        </Layout>
      )
    }
    export default Profile
    1. Authenticating server-rendered pages: here you need to export an async getServerSideProps() function from a page by which NextJs will pre-render this page on each request. Here’s an example where if there is a session, then the user is returned as a prop to the Profile component:
    import withSession from '../lib/session'
    import Layout from '../components/Layout'
    export const getServerSideProps = withSession(async function ({ req, res }) {
      const { user } = req.session
      if (!user) {
        return {
          redirect: {
            destination: '/login',
            permanent: false,
          },
        }
      }
      return {
        props: { user },
      }
    })
    const Profile = ({ user }) => {
      // Show the user. No loading state is required
      return (
        <Layout>
          <h1>Your Profile</h1>
          <pre>{JSON.stringify(user, null, 2)}</pre>
        </Layout>
      )
    }
    export default Profile
    1. Authenticating with third-party providers: for common authentication providers like Auth0, Firebase, Supabase, etc, you can take a look at the official GitHub repository for examples of how to set up and configure your own NextJs app.

    Testing

    The last step of the NextJs cheat sheet, Just like with authentication, testing can be done in a lot of different ways and with different testing tools. Here’s how to setup testing with common tools:

    1. Testing with Cypress: start off with the with-cypress example to quickly start a NextJs app with Cypress as:
    npx create-next-app@latest --example with-cypress with-cypress-app

    Or manually, install the cypress package:

    npm install --save-dev cypress

    Then add it to the scripts field of your package.json file:

    "scripts": {
      ...
      "cypress": "cypress open",
    }

    Finally, run Cypress with the following command:

    npm run cypress

    To create a Cypress test file. Simply create a file under cypress/integration/app.spec.js as:

    describe('Navigation', () => {
      it('should navigate to the about page', () => {
        // Start from the index page
        cy.visit('http://localhost:3000/')
        // Find a link with an href attribute containing "about" and click it
        cy.get('a[href*="about"]').click()
        // The new url should include "/about"
        cy.url().should('include', '/about')
        // The new page should contain an h1 with "About page"
        cy.get('h1').contains('About Page')
      })
    })
    1. Testing with Jest and React Testing Library: again you can use it quickly with the community provided with-jest example while you spin off a new Next project:
    npx create-next-app@latest --example with-jest with-jest-app

    Or manually, you can install Jest, React Testing Library, and Jest DOM packages:

    npm install --save-dev jest @testing-library/react @testing-library/jest-dom

    Then create a jest.config.js file in the project’s root directory:

    const nextJest = require('next/jest')
    const createJestConfig = nextJest({
      // Provide the path to your NextJs app to load next.config.js and .env files in your test environment
      dir: './',
    })
    // Add any custom config to be passed to Jest
    const customJestConfig = {
      // Add more setup options before each test is run
      // setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],
      // if using TypeScript with a baseUrl set to the root directory then you need the below for alias' to work
      moduleDirectories: ['node_modules', '<rootDir>/'],
      testEnvironment: 'jest-environment-jsdom',
    }
    // createJestConfig is exported this way to ensure that next/jest can load the NextJs config which is async
    module.exports = createJestConfig(customJestConfig)
    // Add a test script to the package.json file:
    "scripts": {
      ...
      "test": "jest --watch"
    }
    // Then create a Jest test file under __tests__/index.test.jsx as:
    import { render, screen } from '@testing-library/react'
    import Home from '../pages/index'
    describe('Home', () => {
      it('renders a heading', () => {
        render(<Home />)
        const heading = screen.getByRole('heading', {
          name: /welcome to next\.js!/i,
        })
        expect(heading).toBeInTheDocument()
      })
    })

    To run the test simply execute the npm run test command.

    In this article, you got to know about the NextJs Cheat Sheet , and how it helps in making modern React-based websites and apps. Then you saw how to set up a NextJs project, how to fetch data, optimize assets, add TypeScript support, use linters, integrate testing tools, and more!

    For those who prioritize built in Templates to faster their development, we have two very good options available. You can check Modernize free Nextjs Admin Template or Modernize Pro Nextjs Admin Template to speed up your project.


    Conclusion

    In conclusion, having a NextJs Cheat Sheet can greatly benefit developers working with this powerful framework. Providing a quick reference guide to the most commonly used features and functionalities enables developers to work more efficiently and effectively.

    A NextJs Cheat Sheet serves as a handy tool for both beginners and experienced developers. It helps reduce the time spent searching for syntax or configuration details, allowing developers to focus more on writing clean and optimized code.

    Additionally, a cheat sheet can also aid in improving code quality by promoting best practices and highlighting common pitfalls to avoid. It acts as a reliable companion ensuring developers follow the recommended guidelines while developing their NextJs applications.

    Overall, having access to a comprehensive NextJs Cheat Sheet is invaluable for any developer looking to streamline their workflow and enhance their productivity. Whether you’re building small projects or large-scale applications, this resource will undoubtedly prove to be an essential asset in your development toolkit.

  • 25+ Responsive Free Nextjs Landing Page Templates for 2026

    Looking for a high-quality Nextjs landing page that doesn’t cost a thing? You’re in the right place. We’ve curated a solid collection of free Next.js landing page templates made especially for developers who care about speed, clean code, and a professional look.

    From crypto startups to ecommerce brands and finance companies, these templates cover a wide range of industries. Each one is thoughtfully designed to help you get started quickly without compromising on design or functionality. Whether you’re launching a new idea or just exploring, there’s a template here that fits your needs.

    What makes these templates stand out is the freedom and performance they offer. Unlike website builders or WordPress themes, Next.js lets you fully control your code while giving you faster load times through server-side rendering and static site generation.

    • Flexibility & Power: Forget the rise of website builders. Nextjs Templates empowers you with complete control over your code. Build complex layouts, integrate seamless animations, and connect to any backend service imaginable. Unlike Webflow, Framer, WordPress, Wix, or Shopify, Next.js gives you the freedom to build exactly what you envision.
    • Fast Performance: For landing pages, speed is paramount. Next.js is engineered for blazing-fast performance, thanks to features like server-side rendering and static site generation. 
    • SEO Optimized Out-of-the-Box: Next.js handles server-side rendering effortlessly, making your landing pages easily crawlable and indexable by search engines. 
    • Scalability: Starting with a free tool doesn’t mean you’ll be limited later. Next.js provides a robust foundation that scales effortlessly as your project grows and your needs evolve.

    Quality Assurance:- 

    Code Quality: Clean, maintainable, and well-documented codebases.

    Design Aesthetics: Modern and responsive UI/UX designs.

    Prime Learning Opportunity for Next-Gen Devs: If you’re a developer looking to stay ahead of the curve, mastering Next.js is essential. Using Below templates provides a practical, hands-on way to learn best practices and understand the framework’s capabilities.

    Studiova

    A sleek and modern Next.js template designed for creative agencies, featuring responsive layouts, dynamic animations, and a portfolio-ready design to showcase your studio’s projects effectively. With performance at its core, this template boasts a Google PageSpeed score of above 90, ensuring lightning-fast load times and optimal user experience. Additionally, it is optimized for SEO, helping your agency rank higher in search engine results while delivering a seamless browsing experience across all devices.

    Tech Stack: Next.js, Tailwind CSS, NextAuth, TypeScript

    Key Features of Studiova

    • Multiple Page Layouts
    • Blog Integration
    • Clean UI
    • Detailed Documentation

    Homely

    A fully responsive real estate template offering modern UI components and seamless performance. Coded for agencies and property listing websites. Whether you’re a solo agent or managing a full agency, Homely helps you launch a professional property listing site quickly. Built with Next.js, styled with Tailwind CSS, and optimized for mobile-first design, this template is both fast and customizable.

    Tech Stack: Next.js, React, ShadCN UI, Tailwind CSS

    Key Features of Homely

    • Property search filters
    • Interactive design
    • Reusable Components
    • Developer Friendly

    Awake

    Awake is a pre-made landing page for agencies, startups, and business websites. It helps you quickly create a modern site for your brand, a client, or just to practice coding. Designed with creative agencies in mind, it has a clean layout to highlight portfolios and services. The template comes with 3+ professionally designed pages, eye-catching animations, and Figma files for easy edits. It’s fully responsive, working smoothly on all devices, and optimized for speed with a Google PageSpeed score above 90. This makes it a great choice for building a fast and attractive website.

    Tech Stack: Next.js, Tailwind CSS, NextAuth

    Key Features of Awake

    • Adaptive design for all devices
    • SEO-friendly structure
    • Simple setup process
    • Figma design files included
    • Drive more conversions with clear calls-to-action

    Next.js Starter

    A clean and elegant starter blog template featuring MDX support, dark mode, and ready-to-use layouts to launch your content-driven site with ease.

    Tech Stack: Next.js, Tailwind CSS, React

    Key Features of Nextjs Starter

    • Mobile-friendly view
    • Lightweight
    • 85kB first load JS
    • 3 different blog layouts
    • SEO friendly

    GitHub Stars: 9.7 K+ Stars

    Medusa

    A powerful Next.js eCommerce template built with Medusa for fast, headless storefronts. Seamlessly integrates product pages, cart, checkout, and user account features.

    Tech Stack: Next.js, Tailwind CSS, React, Medusa.js, TypeScript 

    Key Features of Medusa

    • Full ecommerce support
    • Product Detail Page
    • Product Collections
    • Check out with Stripe
    • Static Pre-Rendering

    GitHub Stars: 2.2 K+ Stars

    Raft

    Raft is a modern Nextjs landing page template tailored for fintech, banking, and financial platforms. It combines responsive design with clean UI components to boost trust and conversions.

    Tech Stack: Next.js, Tailwind CSS, ReactJs, Framer Motion, GSAP

    Key Features of Raft

    • Component-Based Structure
    • Interactive FAQ Accordion Style
    • Fully Responsive
    • Smooth Animations
    • User Testimonials Page
    • Fully High Quality Design

    GitHub Stars: 175+ Stars

    Note: Hasn’t been updated for 2 year.

    Shopco

    Shopco is an open-source project that converts a Figma design of an e-commerce website into a fully responsive front-end application.

    Tech Stack: Next.js, Tailwind CSS, Motion Animations, App Router, ShadCN UI

    Key Features of Shopco

    • Redux Toolkit E-commerce Template
    • Performance Optimized
    • Accessible
    • Fully Responsive
    • Smooth animations and transitions

    GitHub Stars: 125+ Stars

    Crypgo

    A free, modern landing page template designed for crypto projects. Perfect for blockchain startups, NFT platforms, and crypto exchanges, it features a sleek design, a fully responsive layout. Built with the latest versions of React and Next.js, it emphasizes performance and easy customization. The organized code structure aims to streamline the development process.

    Tech Stack: Next.js, Tailwind CSS, React, TypeScript

    Key Features of Crypgo

    • Real-time price feeds
    • Designed specifically for NFT startups
    • Clean customizable code
    • Dark mode

    Kupingplug

    A versatile template suitable for various applications, from portfolios to business sites. This is a Next.js project bootstrapped with create-next-app.

    Tech Stack: Next.js, Tailwind CSS, ReactJs, TypeScript

    Key Features of Kupingplug

    • Perfect Landing Page Design
    • Responsive Design
    • SEO Optimized

    GitHub Stars: 20+ Stars

    Note: Hasn’t been updated for 1 year.

    Next Startd

    A starter template for SaaS products, featuring essential components for product showcases. Supastarter is the ultimate starter kit for production-ready, scalable SaaS applications.

    Tech Stack: Next.js, Prisma, Tailwind CSS, React, Supastarter

    Key Features of Next Startd

    • High Quality Design
    • SEO Friendly
    • Having Header Sections like – Pricing, FAQ, Blog, Changelog, Contact Us, Docs Page

    GitHub Stars: 8+ Stars

    Note: Hasn’t been updated for 1 year.

    SaaSCandy

    SaaSCandy is built with Tailwind CSS, delivering a polished design alongside a clear folder structure and well-organized code. It includes NextAuth authentication and dark mode, providing a modern and streamlined foundation for your online presence.

    Tech Stack: Next.js, Tailwind CSS, React.js, MDX

    Key Features of SaaSCandy

    • Built for SaaS, PaaS, Tech Startups & IT Products
    • Modular components
    • Pricing Plans
    • Pricing & Service page

    Chef’s Kitchen

    Chef’s Kitchen is a free, responsive Nextjs landing page template designed for food-related websites, including restaurants, cafes, and gourmet businesses. It features a sleek, modern design that works perfectly for chefs, food bloggers, or any culinary brand. With customizable layouts and elements, it’s easy to adapt to your specific needs. Ideal for creating an engaging online presence, Chef’s Kitchen is a great choice for anyone in the food industry. 

    Tech Stack: Next.js, Tailwind CSS, React, Headless UI

    Key Features of Chef’s Kitchen

    • Easy-to-Understand Code and Folder Structure
    • Hassle-free Setup Process
    • High-quality Premium Design

    Sustainable

    This Next.js template is ideal for developers, designers, and freelancers who want to display their projects in a professional way. It’s simple to use, fast-loading, and fully responsive, ensuring your portfolio looks great and reaches a wider audience. Download it now and start building your site effortlessly! It has a clean design, fast performance, and SEO optimization to help you showcase your work effectively. The template is easy to customize and works well on all devices, making it perfect for creating a professional portfolio website.

    Tech Stack: Next.js, Tailwind CSS, React, AOS

    Key Features of Sustainable

    • Authentication Using Next AUTH
    • Blogs Made With MDX
    • Dark Mode Support

    Desgy

    A developer-focused template featuring a modern, responsive design perfect for digital agencies and startups. Built for easy customization and rapid deployment. Built with React, Tailwind & Headless UI for flexible, developer-friendly website development. Stylish and eye-catching Landing Page with modern designs. Desgy NextJs landing page has a modern aesthetic. It gives your upcoming project a well-polished appearance. It has all the components required to build a fantastic website.

    Tech Stack: Next.js, Tailwind CSS, React, Headless UI

    Key Features of Desgy

    • Project showcase
    • Smooth scroll
    • Responsive layouts
    • Contact form
    • Easy setup
    • Pre-built login/signup pages

    Nicktio

    This template is designed for fintech startups and payment solutions, featuring a modern and fully responsive user interface. It provides a professional look and serves as a strong base to build an excellent website. With a stylish design and all the essential features for finance-focused sites, it’s ideal for both new and established businesses. This template ensures your website is not only visually appealing but also functional and easy to manage.

    Tech Stack: Next.js, Tailwind CSS, React, NextAuth

    Key Features of Nicktio

    • Pricing tables
    • Feature highlights
    • User testimonials
    • Developer Friendly

    Endeavor

    This template is designed for charity groups, fundraising campaigns, nonprofits,  or any cause-driven project, organizations focused on making a positive impact. It includes key pages like Causes, Events, Blog, and Contact to support impactful storytelling and engagement. It helps you quickly create a clean and modern website, so you can concentrate on your mission instead of dealing with technical issues. It’s perfect for If you need a straightforward, modern website for your mission, Endeavor Pro is an excellent choice. It’s ready to use, easy to update, and built for practical, real-world applications.

    Tech Stack: Next.js, Tailwind CSS, ReactJs, AOS, MDX

    Key Features of Endeavor

    • 8+ Pages Included
    • Event list page
    • Event detail page
    • Fully Customizable

    Startup

    This Nextjs landing page template is ideal for creative agencies, startups, and SaaS businesses that need a single-page website. It features a sleek design, fast performance, and easy customization, making it perfect for launching any modern product or service.

    Tech Stack: Next.js, Tailwind CSS, GatsbyJs, ReactJS

    Key Features of Startup

    • Agency Design
    • High Quality & Responsive Design
    • Included Header Sections Like – Home, Features, Pricing, Testimonial

    GitHub Stars: 4+ Stars

    Butter CMS

    This template is specifically designed for developers who need a content management system (CMS) integrated from the start. Connecting to Butter CMS removes the boilerplate of setting up content infrastructure, allowing developers to focus on the front-end presentation and dynamic content delivery. This is beneficial for projects requiring frequent content updates by non-technical users. It likely utilizes API Routes within Next.js to interact with the Butter CMS API.

    Tech Stack: Next.js, Tailwind CSS, JavaScript

    Key Features of Butter CMS

    • Headless CMS Integration
    • Developer-Friendly
    • Blog Functionality Included
    • Responsive Template

    GitHub Stars: 60+ Stars

    TailNext

    This template presents the power and flexibility of Tailwind CSS within a Next.js context. The utility-first approach of Tailwind allows for highly customized designs with minimal custom CSS. The inclusion of a component library further accelerates development by providing reusable UI elements. The focus on being customizable and responsive aligns with modern web development best practices.

    Tech Stack: Next.js, Tailwind CSS, ReactJs

    Key Features of TailNext

    • MDX support
    • Dark Mode Support
    • Fully responsive design
    • Blog and documentation layouts

    GitHub Stars: 390+ Stars

    Finwise

    Specifically designed for Fintech startups, Finwise offers a professionally designed structure that emphasizes clear messaging and strong calls to action. The use of the Next.js App Router with TypeScript reflects modern best practices for building scalable and maintainable applications. The inclusion of Framer Motion for transitions adds a touch of polish and user engagement. The focus on performance with built-in optimizations is crucial for SaaS landing pages aiming for high conversion rates.

    Tech Stack: Next.js, Tailwind CSS, ReactJs, TypeScript

    Key Features of FinWise

    • Access to 31+ icon packs via React Icons
    • Modular, responsive, and scalable components
    • Smooth transitions powered by Framer Motion
    • Free lifetime updates

    GitHub Stars: 105+ Stars

    E-learning

    Create an edtech or learning platform homepage quickly with this Free Next.js Landing Page Template. Built on Next.js, it allows you to easily customize pre-designed sections, components, and layouts to match your project’s needs. This template is especially helpful for developers, as it lets them focus on building core functionalities without worrying about the design.

    Tech Stack: Next.js, Tailwind CSS, ReactJs, Headless UI

    Key Features of E-learning

    • Easy-To-Understand Code and Folder Structure
    • SEO Friendly
    • Hassle-free Setup Process
    • High-quality Premium Design
    • Organized Code Structure

    Nextly

    Nextly provides a clean and modern aesthetic built with the popular combination of Next.js and Tailwind CSS. The inclusion of a Figma file is a significant advantage for developers and designers who want to customize the design visually before implementing it in code. The provided JavaScript plugin could offer additional functionalities or utilities.

    Tech Stack: Next.js, Tailwind CSS, TypeScript

    Key Features of Nextly

    • Responsive Design
    • Custom .config File
    • High Quality Design
    • Organized Code Structure

    GitHub Stars: 980+ Stars

    Blog Agility CMS

    Specifically made for building blog sites, this starter integrates with Agility CMS. This allows developers to create dynamic blog content while leveraging the performance and SEO benefits of Next.js. It provides a practical example of how to connect a headless CMS to a Next.js frontend for content-driven websites.

    Tech Stack: Next.js, Tailwind CSS, TypeScript, Headless UI

    Key Features of Blog Agility CMS

    • Fully integrated with Agility CMS
    • Flexible page modules
    • Component-based architecture
    • Clean and minimal blog layout

    GitHub Stars: 80+ Stars

    NextlessJs

    This template prioritizes developer experience by incorporating an easy set of modern development tools and best practices. The use of Tailwind CSS 3 and TypeScript promotes maintainability and scalability. The included linting and formatting tools ensure code consistency and quality. The integration with Netlify provides a straightforward deployment process.

    Tech Stack: Next.js, Tailwind CSS, TypeScript, Headless UI

    Key Features of NextlessJs

    • Fully responsive design
    • Pre-built sections like Hero, Features, Testimonials, Pricing, and FAQ
    • Dark mode support
    • Developer Friendly 

    GitHub Stars: 2 K+ Stars

    VPN

    Designed specifically for VPN or app landing pages, this open-source template offers a tailored structure and features relevant to this niche. The use of next/image demonstrates a focus on image optimization for better performance. The integration of React Slick for sliders and React Scroll for smooth scrolling provides enhanced user interface elements.

    Tech Stack: Next.js, Tailwind CSS, ReactJs

    Key Features of VPN

    • Sticky navigation bar
    • Dark mode support
    • Reusable and modular components
    • Responsive design

    GitHub Stars: 555+ Stars

    Paidin

    Coded for SaaS startups like billing and invoice software or consultancy websites, this template offers a robust foundation with excellent customizability. Built leveraging the composable UI primitives of Headless UI, it empowers developers to tailor the components to fit diverse landing page requirements.

    Tech Stack: Next.js, Tailwind CSS, ReactJs, Headless UI

    Key Features of Paidin

    • Ready for Custom Integrations
    • Customizable UI blocks
    • Dark Mode Support
    • SEO Optimized

    Wrapping Up with Wrappixel

    Choosing the right landing page template can help you launch faster and with more confidence. The templates listed above are built with performance, design quality, and flexibility in mind, all key elements for modern web development.

    When selecting a Next.js landing page, fix the project’s scope first.

    Do you want to show off your work (a portfolio)? 

    Launch a software service (SaaS)? 

    Or does it need a built-in way to manage content (CMS)?

    Creating a stunning and effective landing page doesn’t have to be time-consuming and expensive. By using the power of Next.js and the fantastic free landing page templates above, next-generation developers can quickly build high-performing pages to showcase their skills, launch their projects, and make a lasting impact online. 

    Each one offers something unique, whether you’re building a SaaS site, a personal portfolio, or a full eCommerce experience. Explore the above themes, check the update history, and select a template that best suits your project goals.

    Share your Nextjs landing pages and Experiences in the comments below!
  • The Efficiency of Tailwind CSS: A Game-Changer for Frontend Developers

    The journey of CSS frameworks has been nothing short of a rollercoaster. From the days when styling a website felt like taming a wild beast, to the advent of frameworks that promised to simplify this process, we’ve come a long way. Traditional CSS, with its cascading nature, was a powerful tool for styling the web but often led to complexity and challenges as projects grew.

    Developers found themselves wrestling with specificity wars, maintaining large style sheets, and trying to keep their designs consistent across a sprawling website. Frameworks like Bootstrap and Foundation entered the scene, offering a beacon of hope with their ready-to-use components and grid systems. While they significantly improved productivity, they also introduced their own set of challenges. Developers frequently had to override styles to fit their design needs, leading to bloated CSS and a departure from the original design system these frameworks provided.


    What is Tailwind CSS ?

    Diving deeper into the heart of modern frontend development, we encounter a concept that’s reshaping how we think about styling web applications: utility-first CSS. At the forefront of this transformative wave is Tailwind CSS, a framework that has fundamentally altered the landscape of web design and development. Let’s explore what Tailwind CSS is, its utility-first approach, and why it’s becoming an indispensable tool for frontend developers around the globe.

    Let’s Learn Tailwind CSS Basics

    Tailwind CSS, crafted by Adam Wathan, emerged from a simple yet revolutionary idea: instead of fighting against CSS, why not leverage its strengths to our advantage? Tailwind provides a set of low-level utility classes that can be combined directly in your HTML, enabling you to build complex, responsive designs without ever leaving your markup. This approach marks a departure from traditional CSS and component-based frameworks, offering a level of flexibility and efficiency previously unseen.

    The Utility-First Paradigm

    At its core, Tailwind CSS champions a utility-first methodology. This means that instead of starting with abstracted components or styling from a global stylesheet, developers begin with a palette of functional utility classes that apply specific CSS properties. Think of Tailwind as giving you the building blocks to construct your design directly in the HTML, block by block.

    <div class="bg-gray-800 text-white p-5 rounded-lg shadow-lg">
      <h1 class="text-2xl font-bold">Hello, Tailwind!</h1>
      <p class="mt-3">Welcome to the utility-first world of CSS.</p>
    </div>

    In this snippet, bg-gray-800 sets the background color, text-white defines the text color, p-5 applies padding, rounded-lg gives the corners a large radius, and shadow-lg adds a large shadow. Each class name is intuitive, reflecting the style property it applies, making your markup both the blueprint and the canvas of your design.

    Why Tailwind CSS Stands Out

    Tailwind CSS’s utility-first approach has several distinct advantages:

    • Rapid Prototyping: Tailwind speeds up the design process, allowing for quick iterations directly in the HTML.
    • High Customizability: Tailwind can be extensively customized to fit your project’s design needs. With Tailwind’s configuration file, tailoring your design system is as straightforward as modifying a JavaScript object.
    • Reduced Styling Redundancy: By using utility classes, you avoid repeating styles, leading to DRYer (Don’t Repeat Yourself) code.
    • Consistent Design Language: Tailwind enforces a consistent design language across your project, reducing the chances of deviating from the intended design.

    Tailwind CSS’s latest iteration, version 3.0, enhances these benefits with features like Just-in-Time (JIT) compilation, improved performance, and even more customization options. It’s not just a tool but a new way of thinking about styling web applications, encouraging a closer integration between design and development.

    One of the biggest advantages of Tailwind CSS is how easily it adapts to complex UI layouts, such as admin panels or data dashboards. That’s why many developers prefer starting their projects with Tailwind dashboard templates, which are pre-designed admin interfaces built entirely with Tailwind utilities.

    These templates take full advantage of Tailwind’s strengths, responsive grids, reusable components, and easy theme customization, allowing developers to launch a fully functional dashboard in hours instead of weeks or months. If you’re looking for inspiration or a ready-made foundation, you can explore some of the best Tailwind dashboard templates crafted by the WrapPixel team. They showcase exactly how Tailwind’s utility-first approach can be scaled to real-world, production-ready dashboards.

    The Growing Popularity of Tailwind CSS

    Since its inception, Tailwind CSS has seen a meteoric rise in popularity among frontend developers. Its approachable syntax, combined with the power and flexibility it offers, makes it a go-to choice for projects of all sizes. From solo developers crafting personal websites to large teams building complex web applications, Tailwind CSS has proven itself to be a game-changer.

    In conclusion, Tailwind CSS represents a paradigm shift in frontend development, emphasizing utility over convention, flexibility over rigidity, and efficiency over complexity. Its utility-first approach, championed by Adam Wathan, has not only won over a vast community of developers but has also set a new standard for how we approach web design. As Tailwind CSS continues to evolve, its impact on the industry is undeniable, paving the way for a more intuitive and enjoyable web development experience.

    Key Features of Tailwind CSS

    Tailwind CSS has swiftly risen through the ranks to become a favorite among frontend developers, thanks to its innovative features and design principles. Let’s delve into the key features of Tailwind CSS that set it apart from traditional CSS frameworks and methodologies.

    Utility-First Approach

    The utility-first approach of Tailwind CSS is a cornerstone of its design philosophy, offering unparalleled productivity and flexibility. This method provides developers with a suite of utility classes that can be composed to build any design directly within HTML markup. Unlike traditional CSS, where you might create bespoke classes for elements and then define their styling, Tailwind’s utility classes mean you’re effectively styling as you build your HTML structure.

    <button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
      Click me
    </button>

    In this example, the utility classes clearly describe the button’s appearance: blue background, white text, bold font, padding, and rounded edges. Adding hover:bg-blue-700 changes the background color on hover, showcasing Tailwind’s intuitive approach to states and interactions.

    Responsiveness and Mobile-First Design

    Tailwind CSS embraces a mobile-first design philosophy, providing a fluid and responsive framework out of the box. By using Tailwind’s prefix system, developers can create designs that adapt to various screen sizes with minimal effort. This approach ensures that applications are accessible and user-friendly across all devices.

    <div class="text-sm sm:text-base md:text-lg lg:text-xl">
      Responsive text size
    </div>

    This snippet demonstrates how Tailwind CSS adjusts the text size based on the screen width, scaling up from text-sm on small screens to text-xl on larger screens. The sm:md:, and lg: prefixes apply styles at specific breakpoints, illustrating Tailwind’s responsive design capabilities.

    Customization and Configuration

    Tailwind CSS is highly customizable, allowing developers to tailor the framework to their project’s specific needs. Through the tailwind.config.js file, developers can define custom themes, breakpoints, and even extend the default set of utility classes. This level of customization ensures that Tailwind can adapt to any design system.

    module.exports = {
      theme: {
        extend: {
          colors: {
            'custom-blue': '#243c5a',
          },
          spacing: {
            '72': '18rem',
          },
        },
      },
    }

    Here, the configuration file is extended to include a custom color (custom-blue) and a new spacing value (72). These customizations are then available as utility classes within the project, for example, bg-custom-blue or p-72.

    Performance Benefits

    One of the most significant advantages of Tailwind CSS is its focus on performance. The utility-first approach, combined with Tailwind’s Just-in-Time (JIT) mode, ensures that only the styles you use are included in the final CSS bundle. This results in significantly smaller file sizes, faster loading times, and an overall more efficient application.

    Before JIT, developers had to be mindful of purging unused styles for production builds. With JIT mode enabled by default in Tailwind CSS 3.0, this is handled automatically, generating CSS on the fly and ensuring optimal performance.

    <!-- Only the utilities used are compiled, leading to minimal CSS output -->
    <div class="max-w-md mx-auto bg-white rounded-xl shadow-md overflow-hidden md:max-w-2xl">
      <div class="md:flex">
        <div class="p-8">
          <div class="uppercase tracking-wide text-sm text-indigo-500 font-semibold">Case study</div>
          <a href="#" class="block mt-1 text-lg leading-tight font-medium text-black hover:underline">Finding simplicity in complexity</a>
          <p class="mt-2 text-gray-500">Exploring the benefits of a utility-first CSS framework in modern web development.</p>
        </div>
      </div>
    </div>

    In this comprehensive example, each utility class contributes to the overall design, from the container’s max width and margin to the text styling and padding. The JIT compiler includes only these specific utilities in the final CSS, streamlining the styling process and enhancing performance.

    Tailwind CSS’s innovative features—utility-first design, built-in responsiveness, extensive customization, and performance optimization—make it an invaluable tool for modern web development. These capabilities allow developers to craft intricate designs with efficiency and precision, heralding a new era of frontend development.

    Why Tailwind CSS is a Game-Change?

    Tailwind CSS has emerged as a pivotal force in the world of web development, redefining how developers approach styling. Its innovative features not only streamline the development process but also enhance the overall design and collaboration among teams. Let’s explore why Tailwind CSS is considered a game-changer in the industry.

    Faster Prototyping

    Tailwind CSS accelerates the design process, enabling developers to quickly prototype and iterate on designs directly within HTML. This immediacy allows for rapid visualization of ideas, significantly reducing the time from concept to prototype. With Tailwind’s utility classes, you can style elements on the go, without the back-and-forth between CSS files and HTML.

    <!-- Quick prototyping with Tailwind CSS -->
    <div class="flex items-center justify-center min-h-screen">
      <div class="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-700 transition duration-300">
        Quick Prototype
      </div>
    </div>

    In this snippet, we create a centered button with a hover effect in just a few lines of code, demonstrating how quickly a design can come to life.

    Improved Consistency

    Tailwind CSS promotes consistency across your projects by providing a standardized set of utility classes. This ensures that design elements remain uniform, regardless of who works on the project or when they contribute. By using predefined utilities, teams can maintain a coherent design system, reducing discrepancies and enhancing the user experience.

    <!-- Consistent design with utility classes -->
    <div class="text-gray-900 bg-gray-200 p-4">
      Consistent Styling
    </div>
    <div class="text-gray-900 bg-gray-200 p-4 mt-2">
      Across Elements
    </div>

    These examples show how easily consistency can be achieved across different elements using the same set of utility classes.

    Less CSS to Maintain

    One of the significant advantages of Tailwind CSS is the reduction in the amount of custom CSS that needs to be written and maintained. By leveraging Tailwind’s comprehensive suite of utilities, developers can style elements directly in HTML, minimizing the need for custom classes and extensive stylesheets. This leads to cleaner codebases and less maintenance over time.

    !-- Minimal custom CSS required -->
    <input class="form-input mt-1 block w-full border-gray-300 focus:border-indigo-500 focus:ring focus:ring-indigo-500 focus:ring-opacity-50 rounded-md shadow-sm" type="text" placeholder="Less CSS to maintain">
    

    This input field styled entirely with Tailwind classes illustrates the minimal need for custom CSS.

    Enhanced Team Collaboration

    Tailwind CSS facilitates better collaboration within development teams by providing a common language of utility classes. This standardization simplifies communication about design implementations and reduces the learning curve for new team members. With Tailwind, developers can easily understand and contribute to the project’s design without deep diving into complex CSS files.

    <!-- Easy collaboration with standardized utilities -->
    <div class="bg-white shadow overflow-hidden sm:rounded-lg">
      <div class="px-4 py-5 sm:px-6">
        Easy Team Collaboration
      </div>
    </div>

    In this component, the use of Tailwind classes makes it straightforward for any team member to modify or extend the design without extensive knowledge of the project’s CSS architecture.

    Tailwind CSS stands out not just for its technical merits but also for its impact on the workflow and culture of development teams. Its utility-first approach, combined with the benefits of faster prototyping, improved consistency, reduced maintenance, and enhanced collaboration, solidifies its position as a game-changer in frontend development. Tailwind CSS empowers developers to create more with less, pushing the boundaries of what’s possible in web design and development.

    Conclusion

    Tailwind CSS has undeniably revolutionized frontend development with its utility-first approach, offering unparalleled efficiency, consistency, and flexibility in web design. By significantly reducing the time required for prototyping, ensuring design uniformity across projects, minimizing the maintenance of custom CSS, and enhancing team collaboration, Tailwind CSS paves the way for a more streamlined and productive development process. Its impact on the future of frontend projects is poised to be profound, encouraging developers to rethink traditional CSS practices. Whether you’re building a small personal project or a large-scale web application, integrating Tailwind CSS can lead to cleaner code, faster development times, and a more enjoyable coding experience.

    Discover the efficiency and flexibility of Tailwind CSS and create dashboards that stand out.

    Start building better dashboards today with Wrappixel’s Tailwind templates.

  • Supercharge Your React Projects Handpicked React NPM Packages

    In the 🚀 fast-paced world of web development, React ⚛ stands tall as a favored JavaScript library. Its popularity stems from its versatility and ease of use, enabling developers to create dynamic and responsive web applications. The strength of React’s ecosystem, backed by a wealth of NPM (Node Package Manager) resources, continues to empower developers. These resources, in the form of various packages, provide functionalities that enhance React applications, enabling smoother development and adding powerful features.

    As we anticipate the year 2025, let’s take a closer look at some leading React NPM packages. These packages, through their innovative solutions and tools, redefine the boundaries of what developers can achieve with React. From streamlining development processes to expanding capabilities, these tools play a pivotal role in shaping the future of web application development using React.


    React MUI Sidebar

    Introducing the react-mui-sidebar npm package, a standout solution for modern web development needs. Powered by Material-UI, a leading React UI framework, react-mui-sidebar is designed to elevate user experience through streamlined sidebar navigation. In an era where intuitive interfaces are paramount, this package offers a comprehensive suite of features to enhance usability and aesthetics.

    Best React NPM Package 2024 MUI sidebar

    Benefits:

    • Ensures seamless adaptation to various screen sizes for optimal user experience across devices.
    • Effortlessly tailor the sidebar’s appearance to match your application’s design language for a cohesive look.
    • Integrates smoothly with React applications, eliminating compatibility issues and reducing development time.
    • Clear documentation and intuitive design make implementation straightforward for developers of all levels.
    • Organize navigation elements easily with support for main menus and nested submenus.
    • Enjoy fluid navigation with seamless transition effects for an enhanced user experience.
    • Ensures smooth and responsive performance, even with complex interfaces.
    • Regular updates and proactive maintenance ensure ongoing support and security.

    You can generate an attractive sidebar as shown below:

    Modernize sidebar

    Framer Motion

    Framer Motion is like magic dust for your React app’s animations. It’s a powerful but easy-to-use JavaScript library that lets you bring your UI elements to life with smooth, delightful animations and interactions. Imagine buttons that dance when you hover over them, cards that slide in like whispers, and transitions that feel so natural, you won’t even know they’re there.

    Framer GIF

    Benefits:

    • Allows precise control over animations in React apps.
    • Simple syntax for easy implementation by developers.
    • Supports various animations like keyframes, transitions, and gestures.
    • Engineered for smooth performance, even in complex UIs.
    • Integrates smoothly with React components and workflows.
    • Built-in support for creating interactive, gesture-based animations.
    • Offers variants for reusable animation states and controls for playback and orchestration.

    SWR

    SWR (Stale-While-Revalidate) is an npm package used primarily in React applications to manage data fetching and caching. It’s designed to simplify and optimize the process of handling remote data fetching, particularly in scenarios where real-time data updates are necessary.

    SWR npm package

    Benefits:

    • You just write a function to fetch your data and use the useSWR hook to get it in your components. That’s it!
    • SWR automatically checks for updates in the background, so your app always displays the latest data.
    • It stores fetched data in a smart cache to avoid unnecessary re-fetches, making your app superfast.
    • Even if the internet goes down, SWR can still serve data from the cache, keeping your app usable.
    • It allows multiple data requests to happen at the same time, making your app feel even more responsive.
    • It works seamlessly with React’s Suspense feature to handle loading states gracefully.

    Lodash

    Lodash is a powerhouse JavaScript library packed with over 400 modular functions that simplify common tasks, making your code cleaner, more efficient, and easier to maintain. Think of it as a developer’s Swiss Army knife, ready to tackle anything from data manipulation to string formatting.

    Lodash a powerhouse JavaScript library

    Benefits:

    • Lodash streamlines JavaScript development with its array of built-in functions, reducing the need for repetitive code.
    • It allows developers to perform complex operations with concise single-line code instead of writing multiple functions.
    • Simplifies common programming tasks in Node.js, handling arrays, objects, numbers, strings, and more, making code cleaner and more manageable.
    • Keeps Node.js code concise and organized by leveraging Lodash’s functions for various operations.
    • Its functions are easy to remember, aiding both experienced developers and newcomers in understanding and utilizing Lodash effectively.

    React Table

    React-Table (TanStack Table) is a powerful and flexible library for building high-performance, customizable tables in React applications. It gives you complete control over the table’s look and feel using your own UI components, allowing for seamless integration with your app’s design. It also offers built-in support for sorting, filtering, pagination, row selection, editing, custom cell rendering, and much more.

    React-Table TanStack Table is a powerful and flexible library

    Benefits:

    • Straightforward API and intuitive usage, making it easy to learn and integrate.
    • Adapts to diverse table needs and design preferences.
    • Ensures smooth interactions even with large datasets.
    • Easily accommodates growing data and feature requirements.
    • Backed by a vibrant community and extensive documentation.
    • Extend and tailor its behavior to meet specific requirements through plugins and hooks.
    • Built with accessibility in mind, ensuring tables are usable by everyone.

    React-PDF

    React-PDF is a powerful library that brings the ability to seamlessly create, render, and interact with PDF documents within your React applications. It leverages React components and patterns to define the structure and content of your PDFs, making document creation intuitive and familiar for React developers. It gives full control over the look and feel of your PDFs through styling and layout options, tailoring them to your specific design needs.

    React pdf NPM pakage

    Benefits:

    • Integrates effortlessly into your React workflow, saving time and effort compared to external PDF libraries.
    • Leverages the familiar React syntax and patterns for a comfortable development experience.
    • Offers extensive options to tailor PDFs to match your brand style and specific requirements.
    • Keeps users engaged within your app for PDF-related tasks, eliminating the need for external tools.
    • It uses lazy loading and caching to improve rendering speed and overall performance.
    • Supports features like form fields, hyperlinks, and annotations, enabling users to interact with PDFs within your app.

    React-big-calendar

    For React developers tasked with managing schedules and displaying dates within their applications, React Big Calendar emerges as a premier contender. This robust and customizable calendar component offers a comprehensive solution, empowering you to craft sophisticated and user-centric scheduling interfaces.

    Benefits:

    • Intuitive API and readily available documentation make integrating React Big Calendar into your app a breeze.
    • Streamlines schedule navigation and interaction, enhancing user experience and engagement.
    • Adapts to diverse scheduling needs and seamlessly integrates with various data sources.
    • Ensures your app runs smoothly even with complex calendar configurations.
    • Fine-tune every aspect of the calendar’s look and feel with custom components, themes, and styling options.
    • Optimized for large datasets and smooth rendering, ensuring your calendar stays responsive even with tons of events and data.

    Wrapping Up for Best React NPM Packages

    2025 is here, and React is stronger than ever! We’ve explored some of the best NPM packages to help you create apps that are smoother, faster, and more user-friendly. But the real fun starts when you put these tools to work.

    The React community is always growing and sharing new ideas. Help us keep it that way! Share your experiences with these packages and templates. Teach others what you’ve learned, and let’s keep pushing React to even greater heights together!

    Seeking a premium React templates that’s customizable and dev-friendly?

    Meet the MaterialPRO React Template – it’s a Next.Js gem💎


    Crafted with Material UI (MUI) components, this template follows developer standards, offering a unique yet appealing design.

    But here’s the kicker – the star of the show is our MUI sidebar! It’s not just visually impressive; it’s a navigation powerhouse. Dive into submenus seamlessly, experiencing a sleek and customizable sidebar that takes your admin dashboards to the next level.


    If you’re looking for a detailed React cheatsheet, be sure to explore our blog for all the essential information.

    For those building robust admin panels, don’t miss our exclusive collection of free React admin dashboard templates.

    Additionally, if you’re interested in creating website templates, check out our curated selection of free React website templates to enhance your project.

  • Angular Cheat Sheet 2023

    Angular is a TypeScript-based open-source web application framework used to build web and mobile-based applications. This article will go through some of the angular features by explaining some of its core APIs. You can follow this angular cheat sheet to build your project.

    Angular Cheat Sheet:

    We have tried to cover Angular CLI, Angular Lifecycle Hooks, Angular Routing, and much more here.

    1. Angular CLI

    Angular gives us the ability to do a whole lot using their CLI. You can config the entire application by just using the CLI. Here are some of the commands:

    • npm install -g @angular/cli : This command will install the Angular CLI into our local machine using npm.
    • ng new <application name> : This will set up a new Angular application using the ng new command.
    • ng new <application name> --prefix best : This creates a new project and set the project prefix to new.
    • ng new --help: This returns all available Angular command lists.
    • ng lint my-app: This command checks our entire application for any linting warnings.
    • ng lint my-app --fix: If there are any form of linting errors, this command will fix it.
    • ng lint my-app --format stylish : This formats our entire codebase.
    • ng lint my-app --help: This command returns all the available linting command lists.
    • ng add <package name>: This command will use your package manager to download new dependencies and update the project with configuration changes.
    • ng generate component <name>: This will create a new component of our application. We can also use the ng g c <name> shorthand to do this.
    • ng g d <directive name>: This command angular directive.
    • ng g s <service name> : Creates a new Javascript class-based service.
    • ng g p <pipe name>: Generates a new pipe
    • ng g cl <destination> : This will create a new class in the specified directory.
    • ng build: Builds the application for production and stores it in the dist directory.
    • ng serve -o: Serves the application by opening up the application in a browser using any port 4200 or any available port.
    • ng serve -ssl: serves the application using SSL

    2. Angular Lifecycle Hooks

    A component in Angular has a life cycle, several different phases it goes through from birth to death. We can hook into those different phases to get some pretty fine-grained control of our application. Here you can see some Angular Lifecycle Hooks.

    • ngOnChanges: This is called whenever one of the input properties changes.
    • ngOnInit: This is called immediately after ngOnChanges is completed and it is called once.
    • ngOnDestroy: Called before angular destroys a directive or component
    • ngDoCheck: Whenever a change detection is running, this is called.
    • ngAfterContentInit: Invoked after Angular performs any content projection into the component’s view.
    • ngAfterContentChecked: This is called each time the content of the given component has been checked by the change detection mechanism of Angular.
    • ngAfterViewInit This is called when the component’s view has been fully initialized.
    • ngAfterViewChecked: Invoked each time the view of the given component has been checked by the change detection mechanism of Angular.

    3. How Angular Hooks are used

    Always remember that hooks work in a component or directory, so use them in our component, we can do this:

    `class ComponentName {
        @Input('data') data: Data;
        constructor() {
            console.log(`new - data is ${this.data}`);
        }
        ngOnChanges() {
            console.log(`ngOnChanges - data is ${this.data}`);
        }
        ngOnInit() {
            console.log(`ngOnInit  - data is ${this.data}`);
        }
        ngDoCheck() {
            console.log("ngDoCheck")
        }
        ngAfterContentInit() {
            console.log("ngAfterContentInit");
        }
        ngAfterContentChecked() {
            console.log("ngAfterContentChecked");
        }
        ngAfterViewInit() {
            console.log("ngAfterViewInit");
        }
        ngAfterViewChecked() {
            console.log("ngAfterViewChecked");
        }
        ngOnDestroy() {
            console.log("ngOnDestroy");
        }
    }

    4. Component DOM

    Angular comes with DOM features where you can do a whole lot from the binding of data and defining dynamic styles. Let’s take a look at some features:
    Before we dive into the features, a simple component.ts file is in this manner:

    import { Component } from '@angular/core';
    @Component({
        // component attributes
        selector: 'app-root',
        templateUrl: './app.component.html',
        styleUrls: ['./app.component.less']
    })
    export class AppComponent {
        name: 'Sunil';
    }

    5. Let’s look at some template syntax:

    • Interpolation: using {{data to be displayed}} will display dynamic content from the ts file.
    • <button (click)="callMethod()" ... /> : Adding Click events to buttons to call a method defined in the ts file
    • <button *ngIf="loading" ... />: Adding Conditionals to elements. Conditionals have to listen to truthy or falsy values.
    • *ngFor="let item of items": iterate through a defined list of items. Picture this as a for a-loop.
    • <div [ngClass]="{green: isTrue(), bold: itTrue()}"/>: Adding dynamic classes based on conditionals.
    • <div [ngStyle]="{'color': isTrue() ? '#bbb' : '#ccc'}"/>: Adding dynamic styles to the template based on conditions

    6. Component Communication

    Passing data from one component to another can be a little bit tricky in Angular. You can pass data from child to parent, parent to parent, and between two unrelated components:

    • input(): This method helps To pass a value into the child components.
    export class SampleComponent {
    @Input() value: 'Some Data should go in here';
    }

    Child components are registered in parents’ components like this:

    <child-component [value]="data"></child-component>
    • output(): This method Emits an event to the parent component. A bunch of data can be passed into the emitted event which makes it a medium of passing data from child to parent:

    To Emit the event from the child component:

    @Output() myEvent: EventEmitter < MyModel > = new EventEmitter();
    calledEvt(item: MyModel) {
        this.myEvent.emit(item);
    }

    And then the parent component listens to that event:

    <parent-component 
    (myEvent)="callMethod()"></parent-component>

    7. Angular Routing

    Routing is another cool feature of Angular, with the Angular Routing system we can navigate through pages and even add route guards.

    • Component Routing: We can define routes in our application by defining the path and the component to be rendered:
    const routes: Routes = [ 
      { path: 'home', component:HomeComponent }, 
      { path: 'blog/:id', component: BlogPostCompoent }, 
      { path: '**', component: PageNotFoundComponent } 
    ];

    For routing to work, add this the your app.module.ts file:

    RouterModule.forRoot(routes)

    There are situations whereby you want to keep track of what is happening in your routes, you can add this to enable tracing in your angular project:

    RouterModule.forRoot(routes,{enableTracing:true})

    To navigate through pages in Angular, we can use the routerLink the attribute which takes in the name of the component we are routing to:

    <a routerLink="/home" routerLinkActive="active"> Crisis Center</a>

    The routerLinkActive="active" will add an active class to the link when active.

    8. Writing Route Guards

    We can define a guard for route authentication. We can use the CanActivate class to do this:

    class AlwaysAuthGuard implements CanActivate {        
            canActivate() {
                    return true;
            }
    }

    To use this rote guard in our routes we can define it here:

    const routes: Routes = [
      { path: 'home', component:HomeComponent },
      { path: 'blog/:id', component: BlogPostCompoent,canActivate: [AlwaysAuthGuard],  },
        { path: '**', component: PageNotFoundComponent }
    ];

    9. Angular Services

    Angular services come in handy when you can do things like handling HTTP requests and seeding data on your application. They focus on presenting data and delegating data access to a service.

    @Injectable()
    export class MyService {
        public users: Users[];
        constructor() { }
        getAllUsers() {
            // some implementation
        }
    }

    To use this service in your component, import it using the import statement and then register it in the constructor

    import MyService from '<path>'
    constructor(private UserService: MyService) 

    To make things easier, we can use this command to generate service in Angular

    ng g s <service name>

    10. HTTP Service

    Angular comes with its own HTTP service for making HTTP requests. To use it, you have to first of all import it into your root module:

    import { HttpClientModule} from "@angular/common/http";

    After importing it, we can now use it inside our service for making HTTP requests:

    import { Injectable } from '@angular/core';
    import { HttpClient } from '@angular/common/http';
    @Injectable({
        providedIn: 'root'
    })
    export class UserService {
        constructor(private http: HttpClient) { }
        getAllUsers() {
            return this.http.get(`${baseURL}admin/list-users`);
        }
    }

    11. HTTP Interceptors

    An interceptor is a piece of code that gets activated for every single HTTP request received by your application. Picture an interceptor as a middleware in nodejs where an HTTP request made is passed through this piece of code.

    To define an interceptor create a http-interceptor.ts file inside your src directory and add this:

    import { Injectable } from '@angular/core';
    import {
        HttpEvent,
        HttpInterceptor,
        HttpHandler,
        HttpRequest,
        HttpErrorResponse,
        HttpResponse
    } from '@angular/common/http';
    import { Observable } from 'rxjs';
    import { tap } from 'rxjs/operators';
    @Injectable({
        providedIn: 'root'
    })
    export class HttpConfigInterceptor implements HttpInterceptor {
        constructor() { }
        intercept(req: HttpRequest<any>, next: HttpHandler) {
            // Get the auth token from  localstorage.
            const authToken = localStorage.getItem('token');
            // Clone the request and replace the original headers with
            // cloned headers, updated with the authorization.
            const authReq = req.clone({
                headers: req.headers.set('Authorization', authToken)
            });
            // send cloned request with header to the next handler.
            return next.handle(authReq);
        }
    }

    This is a simple interceptor that checks if users have a token in their device’s local storage. If the user does, it will pass the token in all the HTTP headers.

    12. Pipes

    Pipes in Angular give us the ability to transform data into any specific format. For example, you can write a simple pipe that will format an integer to a currency format or format dates to any form.
    Angular comes with some built-in pipes like the date and currency pipe.

    We can define our own custom pipes too by doing this:

    import { Pipe, PipeTransform } from '@angular/core';
    
    @Pipe({ name: 'exponentialStrength' })
    export class ExponentialStrengthPipe implements PipeTransform {
        transform(value: number, exponent?: number): number {
            return Math.pow(value, isNaN(exponent) ? 1 : exponent);
        }
    }

    to use a pipe in our component we can do this:

    {{power | exponentialStrength: factor}}

    13. Bootstrapping:

    import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
    • Bootstraps the application, using the root component from the specified NgModule.
    platformBrowserDynamic().bootstrapModule(AppModule);
    

    14. NgModules:

    • To import NgModule from @angular/core.
    import { NgModule } from '@angular/core';
    • Defines a module that contains components, directives, pipes, and providers.
    @NgModule({ 
      declarations: …, 
      imports: …, 
      exports: …, 
      providers: …, 
      bootstrap: … 
    }) 
    • List of components, directives, and pipes that belong to this module.
    declarations: [ 
      MyRedComponent, 
      MyBlueComponent, 
      MyDatePipe 
    ]
    • List of modules to import into this module. Everything from the imported modules is available to declarations of this module.
    imports: [ 
      BrowserModule, 
      SomeOtherModule 
    ]
    • List of components, directives, and pipes visible to modules that import this module.
    exports: [ 
      MyRedComponent, 
      MyDatePipe 
    ]
    • List of dependency injection providers visible both to the contents of this module and to importers of this module.
    providers: [ 
      MyService, 
      { provide: … } 
    ]
    • List of components to bootstrap when this module is bootstrapped.
    bootstrap: [MyAppComponent]

    15. Template Syntax:

    • Binds property value to the result of expression firstName.
    <input [value]="firstName">
    • Binds attribute role to the result of expression myAriaRole.
    <div [attr.role]="myAriaRole">
    • Binds the presence of the CSS class extra-sparkle on the element to the truthiness of the expression isDelightful.
    <div [class.extra-sparkle]="isDelightful">
    • Binds style property width to the result of the expression mySize in pixels. Units are optional.
    <div [style.width.px]="mySize">
    • Calls method readRainbow when a click event is triggered on this button element (or its children) and passes in the event object.
    <button (click)="readRainbow($event)">
    • Binds a property to an interpolated string, for example, “Hello Seabiscuit”.
    <div title="Hello {{ponyName}}">

    is equivalent to:

    <div [title]="'Hello ' + ponyName">
    • Binds text content to an interpolated string, for example, “Hello Seabiscuit”.
    <p> 
      Hello {{ponyName}} 
    </p>
    • Sets up two-way data binding.
    <my-cmp [(title)]="name">

    is equivalent to:

    <my-cmp [title]="name" (titleChange)="name=$event">
    • Creates a local variable movieplayer that provides access to the video element instance in data-binding and event-binding expressions in the current template.
    <video #movieplayer …></video> 
    <button (click)="movieplayer.play()"> 
      Play 
    </button>
    • The asterisk (*) character turns the current element into an embedded template.
    <p *myUnless="myExpression"> 
      … 
    </p>

    is equivalent to:

    <ng-template [myUnless]="myExpression"> 
      <p> 
        … 
      </p> 
    </ng-template>
    • Transforms the current value of the expression cardNumber using the pipe called myCardNumberFormatter.
    <p> 
      Card No.: {{cardNumber | myCardNumberFormatter}} 
    </p>
    • The safe navigation operator (?) means that the employer field is optional and if undefined, the rest of the expression should be ignored.
    <p> 
      Employer: {{employer?.companyName}} 
    </p>
    • An SVG snippet template needs an svg: prefix on its root element to disambiguate the SVG element from an HTML component.
    <svg:rect x="0" 
              y="0" 
              width="100" 
              height="100"/>
    • A root element is detected as an SVG element automatically, without the prefix.
    <svg> 
      <rect x="0" 
            y="0" 
            width="100" 
            height="100"/> 
    </svg>

    16. Built-in Directives:

    import { CommonModule } from '@angular/common';
    • Removes or recreates a portion of the DOM tree based on the showSection expression.
    <section *ngIf="showSection">
    • Turns the li element and its contents into a template, and uses that to instantiate a view for each item in list.
    <li *ngFor="let item of list">
    • Conditionally swaps the contents of the div by selecting one of the embedded templates based on the current value of conditionExpression.
    <div [ngSwitch]="conditionExpression">
      <ng-template [ngSwitchCase]="case1Exp"> 
        … 
      </ng-template>
      <ng-template ngSwitchCase="case2LiteralString"> 
        … 
      </ng-template>
      <ng-template ngSwitchDefault> 
        … 
      </ng-template> 
    </div>
    • Binds the presence of CSS classes on the element to the truthiness of the associated map values. The right-hand expression should return {class-name: true/false} map.
    <div [ngClass]="{'active': isActive, 
                     'disabled': isDisabled}">
    • Allows you to assign styles to an HTML element using CSS. You can use CSS directly, as in the first example, or you can call a method from the component.
    <div [ngStyle]="{'property': 'value'}"> 
    <div [ngStyle]="dynamicStyles()">

    17. Forms:

    • Import FormsModule from @angular/forms.
    import { FormsModule } from '@angular/forms';
    • Provides two-way data-binding, parsing, and validation for form controls.
    <input [(ngModel)]="userName">

    18. Class Decorators:

    • Import Directive, … from @angular/core’;.
    import { Directive, … } from '@angular/core';
    • Declares that a class is a component and provides metadata about the component.
    @Component({…}) 
    class MyComponent() {}
    • Declares that a class is a directive and provides metadata about the directive.
    @Directive({…}) 
    class MyDirective() {}
    • Declares that a class is a pipe and provides metadata about the pipe.
    @Pipe({…}) 
    class MyPipe() {}
    • Declares that a class can be provided and injected by other classes. Without this decorator, the compiler won’t generate enough metadata to allow the class to be created properly when it’s injected somewhere.
    @Injectable() 
    class MyService() {}

    19. Directive Configuration:

    • Add property1 property with value1 value to Directive.
    @Directive({ 
      property1: value1, 
      … 
    })
    • Specifies a CSS selector that identifies this directive within a template. Supported selectors include element, [attribute], .class, and :not().
    • Does not support parent-child relationship selectors.
    selector: '.cool-button:not(a)'
    • List of dependency injection providers for this directive and its children.
    providers: [ 
      MyService, 
      { provide: … } 
    ]

    20. Component Configuration:

    @component extends @directive, so the @directive configuration applies to components as well.

    • If set, the templateUrl and styleUrl are resolved relative to the component.
    moduleId: module.id

    List of dependency injection providers scoped to this component’s view.

    viewProviders: [MyService, { provide: … }]

    Inline template or external template URL of the component’s view.

    template: 'Hello {{name}}' 
    templateUrl: 'my-component.html'

    List of inline CSS styles or external stylesheet URLs for styling the component’s view.

    styles: ['.primary {color: red}'] 
    styleUrls: ['my-component.css']

    21. Class Field Decorators For Directives And Components:

    • Import Input, … from @angular/core.
    import { Input, … } from '@angular/core';
    • Declares an input property that you can update using property binding (example: ).
    @Input() myProperty;
    • Declares an output property that fires events that you can subscribe to with an event binding (example: ).
    @Output() myEvent = new EventEmitter();
    • Binds a host element property (here, the CSS class valid) to a directive/component property (isValid).
    @HostBinding('class.valid') isValid;

    Subscribes to a host element event (click) with a directive/component method (onClick), optionally passing an argument ($event).

    @HostListener('click', ['$event']) onClick(e) {…}
    • Binds the first result of the component content query (myPredicate) to a property (myChildComponent) of the class.
    @<a href="https://angular.io/api/core/ContentChild">ContentChild</a>(myPredicate) myChildComponent;
    • Binds the results of the component content query (myPredicate) to a property (myChildComponents) of the class.
    @ContentChildren(myPredicate) myChildComponents;
    • Binds the first result of the component view query (myPredicate) to a property (myChildComponent) of the class. Not available for directives.
    @ViewChild(myPredicate) myChildComponent;
    • Binds the results of the component view query (myPredicate) to a property (myChildComponents) of the class. Not available for directives.
    @ViewChildren(myPredicate) myChildComponents;

    22. Directive And Component Change Detection And Lifecycle Hooks (Implemented As Class Methods):

    • Called before any other lifecycle hook. Use it to inject dependencies, but avoid any serious work here.
    constructor(myService: MyService, …) { … }
    • Called after every change to input properties and before processing content or child views.
    ngOnChanges(changeRecord) { … }
    • Called after the constructor, initializing input properties, and the first call to ngOnChanges.
    ngOnInit() { … }
    • Called every time that the input properties of a component or a directive are checked. Use it to extend change detection by performing a custom check.
    ngDoCheck() { … }
    • Called after ngOnInit when the component’s or directive’s content has been initialized.
    ngAfterContentInit() { … }
    • Called after every check of the component’s or directive’s content.
    ngAfterContentChecked() { … }
    • Called after ngAfterContentInit when the component’s views and child views / the view that a directive is in has been initialized.
    ngAfterViewInit() { … }
    • Called after every check of the component’s views and child views / the view that a directive is in.
    ngAfterViewChecked() { … }
    • Called once, before the instance is destroyed.
    ngOnDestroy() { … }

    23. Dependency Injection Configuration:

    • Sets or overrides the provider for MyService to the MyMockService class.
    { provide: MyService, useClass: MyMockService }
    • Sets or overrides the provider for MyService to the myFactory factory function.
    { provide: MyService, useFactory: myFactory }
    • Sets or overrides the provider for MyValue to the value 41.
    { provide: MyValue, useValue: 41 }

    24. Routing And Navigation:

    Import Routes, RouterModule, … from @angular/router.

    import { Routes, RouterModule, … } from '@angular/router';

    Configures routes for the application. Supports static, parameterized, redirect, and wildcard routes. Also supports custom route data and resolve.

    const routes: Routes = [ 
      { path: '', component: HomeComponent }, 
      { path: 'path/:routeParam', component: MyComponent }, 
      { path: 'staticPath', component: … }, 
      { path: '**', component: … }, 
      { path: 'oldPath', redirectTo: '/staticPath' }, 
      { path: …, component: …, data: { message: 'Custom' } } 
    ]); 
     
    const routing = RouterModule.forRoot(routes);

    Marks the location to load the component of the active route.

    <router-outlet></router-outlet> 
    <router-outlet name="aux"></router-outlet>

    Creates a link to a different view based on a route instruction consisting of a route path, required and optional parameters, query parameters, and a fragment. To navigate to a root route, use the / prefix; for a child route, use the ./prefix; for a sibling or parent, use the ../ prefix.

    <a routerLink="/path"> 
    <a [routerLink]="[ '/path', routeParam ]"> 
    <a [routerLink]="[ '/path', { matrixParam: 'value' } ]"> 
    <a [routerLink]="[ '/path' ]" [queryParams]="{ page: 1 }"> 
    <a [routerLink]="[ '/path' ]" fragment="anchor">

    The provided classes are added to the element when the routerLink becomes the current active route.

    <a [routerLink]="[ '/path' ]" routerLinkActive="active">

    The provided classes and aria-current attribute are added to the element when the routerLink becomes the current active route.

    <a [routerLink]="[ '/path' ]" routerLinkActive="active" ariaCurrentWhenActive="page">

    An interface for defining a function that the router should call first to determine if it should activate this component. Should return a boolean|UrlTree or an Observable/Promise that resolves to a boolean|UrlTree.

    function canActivateGuard: CanActivateFn = 
      ( 
        route: ActivatedRouteSnapshot, 
        state: RouterStateSnapshot 
      ) => { … } 
     
    { path: …, canActivate: [canActivateGuard] }

    An interface for defining a function that the router should call first to determine if it should deactivate this component after a navigation. Should return a boolean|UrlTree or an Observable/Promise that resolves to a boolean|UrlTree.

    function canDeactivateGuard: CanDeactivateFn<T> = 
      ( 
        component: T, 
        route: ActivatedRouteSnapshot, 
        state: RouterStateSnapshot 
      ) => { … } 
     
    { path: …, canDeactivate: [canDeactivateGuard] }

    An interface for defining a function that the router should call first to determine if it should activate the child route. Should return a boolean|UrlTree or an Observable/Promise that resolves to a boolean|UrlTree.

    function canActivateChildGuard: CanActivateChildFn = 
      ( 
        route: ActivatedRouteSnapshot, 
        state: RouterStateSnapshot 
      ) => { … } 
     
    { path: …, canActivateChild: [canActivateGuard], children: … }

    An interface for defining a function that the router should call first to resolve route data before rendering the route. Should return a value or an Observable/Promise that resolves to a value.

    function resolveGuard implements ResolveFn<T> = 
      ( 
        route: ActivatedRouteSnapshot, 
        state: RouterStateSnapshot 
      ) => { … }  
     
    { path: …, resolve: [resolveGuard] }

    An interface for defining a function that the router should call first to check if the lazy loaded module should be loaded. Should return a boolean|UrlTree or an Observable/Promise that resolves to a boolean|UrlTree.

    function canLoadGuard: CanLoadFn = 
      ( 
        route: Route 
      ) => { … } 
     
    { path: …, canLoad: [canLoadGuard], loadChildren: … }

    Free Angular Templates by AdminMart

    Well, I hope you have enjoyed our Angular Cheat Sheet and learned about Angular Lifecycle hooks, routing, and more. It will help while developing your project. Same way, Angular Templates also can help you with your project. As they come with stunningly designed interfaces and ready-to-use components, which can save you time and money. Also, you will be able to find the best Free Angular Templates by AdminMart. You can download that with zero investment and use it in your personal as well as commercial projects.

    If you are looking for Angular Admin Dashboard Template then you can check out below useful Admin Template which can save you time, money, and energy:

    Modernize Angular Material Dashboard


    Also Checkout Other Cheat Sheets:

    Next.js Cheat Sheet

    React Cheat Sheet

    Nuxt Cheat Sheet

    Vue Cheat Sheet