I wanted to get these three terms viz UI, GUI and HMI clearly identified from each other.

My current understanding :

UI : Any general interface by which a human being or machine interacts with a machine. This interface could be mechanical/graphical/sensory etc in nature.

GUI : If this UI is graphical/visual in nature, its termed as GUI.

HMI : When this interface is specified between a human being and a machine, it becomes HMI.

So is it like this :

enter image description here

Feel free to give completely different meaning if my understanding is wrong at any point.

P.S. I did read difference between UI and UX here.

  • UI is the point of interaction between user and machine. A computer is a machine. A screw is a machine. An operating system is just one example of a GUI. A screwdriver is just one example of a HMI. Sometimes there is overlap and the operating system can be screwed up too. Commented Nov 9, 2012 at 12:17

6 Answers 6


I don't see "HMI" used much at all anymore. Human Computer Interaction (HCI) is still around, but it's a field of study, not a type of interface.

The thing is "User Interface" implicitly includes humans and excludes machines; the interface between machines tends to just be called an interface or API, and is pretty much excluded from any UX related field. So non-human interfaces are implicitly outside the focus of user experience etc. The skills for creating machine to machine interfaces are nothing like those for creating human (or animal) interfaces with devices. So, HMI isn't really a term to worry about. I'd be very surprised to hear someone using the phrase, and if they are, they really just mean UI as most others would use it.

The distinction of a GUI is of course that it's explicitly graphical in nature. More implicitly, it tends to refer to digital graphical interfaces for software. Physical hardware design, while it has a visual component, is generally not considered part of a GUI. GUIs are made of pixels. They're deeper than that (interactions, not just visual elements) but that's what generally differentiates them.

The UI is anything the user interacts with. This includes physical and digital controls, anything that a user will need to do, read, or interact with with part of the UI. "User" is intentionally nebulous, but it's generally assumed to be your human agent. Interfaces for animals/etc do exist (dog doors for example) but they're not really considered UI design but industrial design. Again, not something one in a UX related field is likely to be concerned with.

  • Nice answer....
    – PhillipW
    Commented Nov 9, 2012 at 22:00

I strongly disagree with some of the posts I've seen here.

The term HMI is heavily used today.

HMI or Human Machine Interface is commonly reserved for defining a point of control for a Human to a machine driven process. This can range from a 1-button push button station, to a 4-buttons on and enclosure with a computerized HMI device such as a Panelview 700 running Rockwell FactoryTalk GUI, or even a SCADA integrated system such as WonderWare running on Windows based systems with a custom UI in C#. In my experience, HMI should not be seen as just a UI or GUI as you will run the risk of self-definition considering the examples I've stated above. HMI represents the greatest general term for the interaction of man and machine . It is best seen as a conduit through the instruction medium in which we convey information back and forth from human to machine. GUI clarifies a portion of a class of HMI, and UI is just another general term and can actually refer to machine to machine communication.

Source - Me (Electrical Controls Engineer, Programmer, Systems Administrator, B.S.E.E.) , http://www.merriam-webster.com/dictionary/interface, NEMA.

  • Agree with our engineer. In my experience in manufacturing HMI is heavily used in reference to interfaces with robots, conveyors and other automation.
    – user92828
    Commented Oct 26, 2016 at 18:04
  • This should be the accepted answer. The current one is misleading. They may not say "HMI" much in a startup but it's everywhere in industrial engineering, human factors, etc. Commented Dec 8, 2022 at 14:36

A GUI is graphical. The old character based (DOS and terminals) UIs weren't considered GUIs. A voice based UI (the next big thing I predict) isn't graphical.

HMI is any interface between humans and machines, e.g. bicycle gear shifters, can openers.

UI is the broad category of anything that can be thought of as having a "user". A suitcase has a UI (although traditionally not thought of in those terms). A faucet has a UI.


While GUI is, has you mention, an instance of a user interface, you should be aware that sometimes UI means user interaction, not interface, and can then be used even more broadly.

HMI is a term that you don't see so much these days, and is really not useful in the context you mention it: a GUI is by nature intended to stand between a human a a computer, not between two machines.


Dumb it Down to this, yes?::<> UI= relating to your(Humans) interaction (Use) with a technology i.e. PC's,Smartphones,Tablets,Games etc.

And GUI is really just Graphics added to the UI...again for Human to use their technology i.e. PC's,Smartphones,Tablets,Games etc. I believe that is the most relevant meaning of UI~GUI...

  • 1
    Welcome to the site, @BOB. Can you cite any sources that support your definitions? Commented Dec 27, 2014 at 21:55

Technically, UI/GUI/HMI are all control interfaces, but GUI is specific to a visual/graphical input/feedback interface.

Call your control interface whatever you want, but just remember, the main point of most new, superfluous names for things is the promotion and proliferation of acronyms and jargon. (Extra points are to be had for recursive acronyms.)

  • 1
    I find your tone of voice on this answer not appropriate.
    – Nash
    Commented Aug 7, 2022 at 11:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.