Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • System Design Tutorial
  • What is System Design
  • System Design Life Cycle
  • High Level Design HLD
  • Low Level Design LLD
  • Design Patterns
  • UML Diagrams
  • System Design Interview Guide
  • Scalability
  • Databases
Open In App
Next Article:
Object-Oriented Programing(OOP) Concepts for Designing Sytems
Next article icon

Difference between High Level Design(HLD) and Low Level Design(LLD)

Last Updated : 03 Jan, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

System design involves creating both a High-Level Design (HLD), which is like a roadmap showing the overall plan, and a Low-Level Design (LLD), which is a detailed guide for programmers on how to build each part. It ensures a well-organized and smoothly functioning project. High-Level Design and Low-Level Design are the two main aspects of System Design.

High-Level-Design-vs-Low-Level-Design-banner-(1)

Important Topics for High-Level Design vs. Low-Level Design

  • What is High Level Design(HLD)?
  • What is Low Level Design(LLD)?
  • Differences between High Level Design(HLD) and Low Level Design(LLD): 

What is High Level Design(HLD)?

High-level design or HLD refers to the overall system, a design that consists description of the system architecture and design and is a generic system design that includes:

  1. System architecture
  2. Database design
  3. Brief description of systems, services, platforms, and relationships among modules.

A diagram representing each design aspect is included in the HLD (which is based on business requirements and anticipated results).

  • It contains description of hardware, software interfaces, and also user interfaces.
  • It is also known as macro level/system design
  • It is created by solution architect.
  • The workflow of the user’s typical process is detailed in the HLD, along with performance specifications.

What is Low Level Design(LLD)?

LLD, or Low-Level Design, is a phase in the software development process where detailed system components and their interactions are specified.

  • It describes detailed description of each and every module means it includes actual logic for every system component and it goes deep into each modules specification.
  • It is also known as micro level/detailed design.
  • It is created by designers and developers.
  • It involves converting the high-level design into a more detailed blueprint, addressing specific algorithms, data structures, and interfaces.
  • LLD serves as a guide for developers during coding, ensuring the accurate and efficient implementation of the system’s functionality.

Differences between High Level Design(HLD) and Low Level Design(LLD): 

High-Level-Design-vs-Low-Level-Design-image

HIGH-LEVEL DESIGNLOW-LEVEL DESIGN
High Level Design is the general system design means it refers to the overall system design.Low Level Design is like detailing HLD means it refers to component-level design process.
High Level Design in short called as HLD.Low Level Design in short called as LLD.
It is also known as macro level/system design.It is also known as micro level/detailed design.
Furthermore, it describes the overall description/architecture of the application.It describes detailed description of each and every module.
High Level Design expresses the brief functionality of each module.Low Level Design expresses details of functional logic of the module.
It is created by solution architect.It is created by designers and developers.
Here in High Level Design the participants are design team, review team, and client team.Here in Low Level Design participants are design team, Operation Teams, and Implementers.
It is created first means before Low Level Design.It is created second means after High Level Design.
In HLD the input criteria is Software Requirement Specification (SRS).In LLD the input criteria is reviewed High Level Design (HLD).
High Level Solution converts the Business/client requirement into a High Level Solution.Low Level Design converts the High Level Solution into a Detailed solution.
In HLD the output criteria is database design, functional design and review record.In LLD the output criteria is program specification and unit test plan.

Conclusion

High-Level Design documents are like big-picture plans that help project managers and architects understand how a system will work and low-Level Design documents are more detailed and are made for programmers.

  • They show exactly how to write the code and make the different parts of the system fit together. Both documents are important for different people involved in making and maintaining the software. 
  • Creating a High-Level Design is like making a big plan for the software, and it helps find problems early, so the quality of the software can be better assured.
  • On the other hand, when Low-Level Design is well-documented, it makes it easier for others to check the code and ensure its quality during the actual writing of the software.

Both these steps help catch and fix issues early, making the overall software development process smoother and more reliable.


Next Article
Object-Oriented Programing(OOP) Concepts for Designing Sytems

S

Satyabrata_Jena
Improve
Article Tags :
  • Difference Between
  • Software Engineering
  • System Design

Similar Reads

    What is Low Level Design or LLD? - Learn System Design
    Low-Level Design (LLD) is the detailed design process in the software development process that focuses on implementing individual components described in the High-Level Design. It provides a blueprint for how each component in the system will function and process and it also includes UML Diagrams, d
    5 min read
    Difference between High Level Design(HLD) and Low Level Design(LLD)
    System design involves creating both a High-Level Design (HLD), which is like a roadmap showing the overall plan, and a Low-Level Design (LLD), which is a detailed guide for programmers on how to build each part. It ensures a well-organized and smoothly functioning project. High-Level Design and Low
    4 min read
    Object-Oriented Programing(OOP) Concepts for Designing Sytems
    Modeling real-world entities is a powerful way to build systems with object-oriented programming, or OOP. In order to write modular, reusable, and scalable code, it focuses on fundamental ideas like classes, objects, inheritance, and polymorphism. Building effective and maintainable systems is made
    15+ min read
    Object-Oriented Analysis and Design(OOAD)
    Object-Oriented Analysis and Design (OOAD) is a way to design software by thinking of everything as objects similar to real-life things. In OOAD, we first understand what the system needs to do, then identify key objects, and finally decide how these objects will work together. This approach helps m
    6 min read
    SOLID Principles in Programming: Understand With Real Life Examples
    The SOLID principles are five essential guidelines that enhance software design, making code more maintainable and scalable. They include Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion. In this article, we’ll explore each principle with real-
    12 min read
    Creational Design Patterns
    Creational Design Patterns focus on the process of object creation or problems related to object creation. They help in making a system independent of how its objects are created, composed, and represented. Creational patterns give a lot of flexibility in what gets created, who creates it, and how i
    4 min read
    Behavioral Design Patterns
    Behavioral design patterns are a category of design patterns that focus on the interactions and communication between objects. They help define how objects collaborate and distribute responsibility among them, making it easier to manage complex control flow and communication in a system. Table of Co
    5 min read
    Structural Design Patterns
    Structural Design Patterns are solutions in software design that focus on how classes and objects are organized to form larger, functional structures. These patterns help developers simplify relationships between objects, making code more efficient, flexible, and easy to maintain. By using structura
    7 min read
    Unified Modeling Language (UML) Diagrams
    Unified Modeling Language (UML) is a general-purpose modeling language. The main aim of UML is to define a standard way to visualize the way a system has been designed. It is quite similar to blueprints used in other fields of engineering. UML is not a programming language, it is rather a visual lan
    14 min read
    Data Structures and Algorithms for System Design
    System design relies on Data Structures and Algorithms (DSA) to provide scalable and effective solutions. They assist engineers with data organization, storage, and processing so they can efficiently address real-world issues. In system design, understanding DSA concepts like arrays, trees, graphs,
    6 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences