Check if word installed

  1. Open any Office application, such as Word or Excel, and select Account.

    Note: If you don’t see Account or you already have a file or document open, choose File from the menu, and then select either Account or Help from the list on the left.

  2. Under Product Information, you’ll find your Office product name and, in some cases, the full version number.

    Account page that includes User and Product information

    • 1 — Product name, such as Microsoft 365 ProPlus or Office Home and Student.

    • 2 — Version number, which includes version, build number, and the type of installation such as Click-to-run or Windows Store.

  3. For more information, such as the bit-version, choose About Excel. A dialog box opens, showing the full version number and bit version (32-bit or 64-bit).

See Also

  • What version of Outlook do I have?

  • How can I tell if my computer is running a 32-bit or 64-bit version of Windows

  1. Open any Office application, such as Word and create a new document.

  2. For example, go to Word and choose About Word.

  3. In the dialog box that opens, you can see the version number as well as the license type. In the example below, the version number is 16.18 and the license is a one-time purchase of Office 2019 for Mac.

    About Word dialog box

See Also

  • Update history for Office for Mac

  • Release notes for Office for Mac

Still not sure?

If the steps above didn’t work for you, you’re likely using an older version of Office. To learn what version you have, see Find details for other versions of Office.

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

Find solutions to common problems or get help from a support agent.

To whoever it might concern, here’s my version that checks for Office 95-2019 & O365, both MSI based and ClickAndRun are supported, on both 32 and 64 bit systems (falls back to 32 bits when 64 bit version is not installed).

Written in Python 3.5 but of course you can always use that logic in order to write your own code in another language:

from winreg import *
from typing import Tuple, Optional, List

# Let's make sure the dictionnary goes from most recent to oldest
KNOWN_VERSIONS = {
    '16.0': '2016/2019/O365',
    '15.0': '2013',
    '14.0': '2010',
    '12.0': '2007',
    '11.0': '2003',
    '10.0': '2002',
    '9.0': '2000',
    '8.0': '97',
    '7.0': '95',
}


def get_value(hive: int, key: str, value: Optional[str], arch: int = 0) -> str:
    """
    Returns a value from a given registry path

    :param hive: registry hive (windows.registry.HKEY_LOCAL_MACHINE...)
    :param key:  which registry key we're searching for
    :param value: which value we query, may be None if unnamed value is searched
    :param arch: which registry architecture we seek (0 = default, windows.registry.KEY_WOW64_64KEY, windows.registry.KEY_WOW64_32KEY)
                 Giving multiple arches here will return first result
    :return: value
    """

    def _get_value(hive: int, key: str, value: Optional[str], arch: int) -> str:
        try:
            open_reg = ConnectRegistry(None, hive)
            open_key = OpenKey(open_reg, key, 0, KEY_READ | arch)
            value, type = QueryValueEx(open_key, value)
            # Return the first match
            return value
        except (FileNotFoundError, TypeError, OSError) as exc:
            raise FileNotFoundError('Registry key [%s] with value [%s] not found. %s' % (key, value, exc))

    # 768 = 0 | KEY_WOW64_64KEY | KEY_WOW64_32KEY (where 0 = default)
    if arch == 768:
        for _arch in [KEY_WOW64_64KEY, KEY_WOW64_32KEY]:
            try:
                return _get_value(hive, key, value, _arch)
            except FileNotFoundError:
                pass
        raise FileNotFoundError
    else:
        return _get_value(hive, key, value, arch)


def get_keys(hive: int, key: str, arch: int = 0, open_reg: HKEYType = None, recursion_level: int = 1,
             filter_on_names: List[str] = None, combine: bool = False) -> dict:
    """
    :param hive: registry hive (windows.registry.HKEY_LOCAL_MACHINE...)
    :param key: which registry key we're searching for
    :param arch: which registry architecture we seek (0 = default, windows.registry.KEY_WOW64_64KEY, windows.registry.KEY_WOW64_32KEY)
    :param open_reg: (handle) handle to already open reg key (for recursive searches), do not give this in your function call
    :param recursion_level: recursivity level
    :param filter_on_names: list of strings we search, if none given, all value names are returned
    :param combine: shall we combine multiple arch results or return first match
    :return: list of strings
    """
    def _get_keys(hive: int, key: str, arch: int, open_reg: HKEYType, recursion_level: int, filter_on_names: List[str]):
        try:
            if not open_reg:
                open_reg = ConnectRegistry(None, hive)
            open_key = OpenKey(open_reg, key, 0, KEY_READ | arch)
            subkey_count, value_count, _ = QueryInfoKey(open_key)

            output = {}
            values = []
            for index in range(value_count):
                name, value, type = EnumValue(open_key, index)
                if isinstance(filter_on_names, list) and name not in filter_on_names:
                    pass
                else:
                    values.append({'name': name, 'value': value, 'type': type})
            if not values == []:
                output[''] = values

            if recursion_level > 0:
                for subkey_index in range(subkey_count):
                    try:
                        subkey_name = EnumKey(open_key, subkey_index)
                        sub_values = get_keys(hive=0, key=key + '\' + subkey_name, arch=arch,
                                              open_reg=open_reg, recursion_level=recursion_level - 1,
                                              filter_on_names=filter_on_names)
                        output[subkey_name] = sub_values
                    except FileNotFoundError:
                        pass

            return output

        except (FileNotFoundError, TypeError, OSError) as exc:
            raise FileNotFoundError('Cannot query registry key [%s]. %s' % (key, exc))

    # 768 = 0 | KEY_WOW64_64KEY | KEY_WOW64_32KEY (where 0 = default)
    if arch == 768:
        result = {}
        for _arch in [KEY_WOW64_64KEY, KEY_WOW64_32KEY]:
            try:
                if combine:
                    result.update(_get_keys(hive, key, _arch, open_reg, recursion_level, filter_on_names))
                else:
                    return _get_keys(hive, key, _arch, open_reg, recursion_level, filter_on_names)
            except FileNotFoundError:
                pass
        return result
    else:
        return _get_keys(hive, key, arch, open_reg, recursion_level, filter_on_names)


def get_office_click_and_run_ident():
    # type: () -> Optional[str]
    """
    Try to find the office product via clickandrun productID
    """
    try:
        click_and_run_ident = get_value(HKEY_LOCAL_MACHINE,
                                                 r'SoftwareMicrosoftOfficeClickToRunConfiguration',
                                                 'ProductReleaseIds',
                                                 arch=KEY_WOW64_64KEY |KEY_WOW64_32KEY,)
    except FileNotFoundError:
        click_and_run_ident = None
    return click_and_run_ident


def _get_used_word_version():
    # type: () -> Optional[int]
    """
    Try do determine which version of Word is used (in case multiple versions are installed)
    """
    try:
        word_ver = get_value(HKEY_CLASSES_ROOT, r'Word.ApplicationCurVer', None)
    except FileNotFoundError:
        word_ver = None
    try:
        version = int(word_ver.split('.')[2])
    except (IndexError, ValueError, AttributeError):
        version = None
    return version


def _get_installed_office_version():
    # type: () -> Optional[str, bool]
    """
    Try do determine which is the highest current version of Office installed
    """
    for possible_version, _ in KNOWN_VERSIONS.items():
        try:
            office_keys = get_keys(HKEY_LOCAL_MACHINE,
                                               r'SOFTWAREMicrosoftOffice{}'.format(possible_version),
                                               recursion_level=2,
                                               arch=KEY_WOW64_64KEY |KEY_WOW64_32KEY,
                                               combine=True)

            try:
                is_click_and_run = True if office_keys['ClickToRunStore'] is not None else False
            except:
                is_click_and_run = False

            try:
                is_valid = True if office_keys['Word'] is not None else False
                if is_valid:
                    return possible_version, is_click_and_run
            except KeyError:
                pass
        except FileNotFoundError:
            pass
    return None, None


def get_office_version():
    # type: () -> Tuple[str, Optional[str]]
    """
    It's plain horrible to get the office version installed
    Let's use some tricks, ie detect current Word used
    """

    word_version = _get_used_word_version()
    office_version, is_click_and_run = _get_installed_office_version()

    # Prefer to get used word version instead of installed one
    if word_version is not None:
        office_version = word_version

    version = float(office_version)
    click_and_run_ident = get_office_click_and_run_ident()

    def _get_office_version():
        # type: () -> str
        if version:
            if version < 16:
                try:
                    return KNOWN_VERSIONS['{}.0'.format(version)]
                except KeyError:
                    pass
            # Special hack to determine which of 2016, 2019 or O365 it is
            if version == 16:
                if isinstance(click_and_run_ident, str):
                    if '2016' in click_and_run_ident:
                        return '2016'
                    if '2019' in click_and_run_ident:
                        return '2019'
                    if 'O365' in click_and_run_ident:
                        return 'O365'
                return '2016/2019/O365'
        # Let's return whatever we found out
        return 'Unknown: {}'.format(version, click_and_run_ident)

    if isinstance(click_and_run_ident, str) or is_click_and_run:
        click_and_run_suffix = 'ClickAndRun'
    else:
        click_and_run_suffix = None

    return _get_office_version(), click_and_run_suffix

You can than use the code like the following example:

office_version, click_and_run = get_office_version()
print('Office {} {}'.format(office_version, click_and_run))

Remarks

  • Didn’t test with office < 2010 though
  • Python typing is different between the registry functions and the office functions since I wrote the registry ones before finding out that pypy / python2 does not like typing… On those python interpreters you might just remove typing completly
  • Any improvements are highly welcome

Introduction

After the tip on How to Check Whether Excel is Installed in the System or Not, we are going to do the same for Microsoft Word.

If you are using Microsoft.Office.Interop.Word for Word related operations in your application, then you must check if Word is installed in the client machine or not. This tip gives you that trick.

Background

This little piece of code is a result of the research after the comment by Marco Bertschi on my previous tip (How to Check Whether Excel is Installed in the System or Not). Thanks a lot Marco. :)

Nice one, Tadit — It might be even improvable by providing information what the ProgID for the other office applications are (Word etc., but maybe even Visio or MS Project).

Using the Code

We will use Type Class and its method Type.GetTypeFromProgID Method (String).

Gets the type associated with the specified program identifier (ProgID), returning null if an error is encountered while loading the Type.

Return Value

Type: System.Type

The type associated with the specified ProgID, if progID is a valid entry in the registry and a type is associated with it; otherwise, null.

For Word, the ProgID is Word.Application. So, the below code is used to check whether Word is installed or not.

Type officeType = Type.GetTypeFromProgID("Word.Application");

if (officeType == null)
{
    
    
}
else
{
    
    
}  

History

  • 29 November 2013 — First version submitted

I’m asking what the best method to know if the office is installed or not on windows in batch?

So, i create this batch file to know which word version is installed !

My Question : Is there any method else in batch that you know to find out if office is installed on Windows and which version ?


@echo off
Title Check if Word Office is installed or Not ? And Which Version Number ?
@for /f "skip=2 tokens=3 delims=." %%a in (
    'reg query "HKEY_CLASSES_ROOTWord.ApplicationCurVer" /f App*'
) do (
    Set "VerNumber=%%a.0"
)
SetLocal EnableDelayedExpansion
If defined VerNumber (
    If [!VerNumber!] EQU [11.0] (Set "MSOffice=Office 2003")
    If [!VerNumber!] EQU [12.0] (Set "MSOffice=Office 2007")
    If [!VerNumber!] EQU [14.0] (Set "MSOffice=Office 2010")
    If [!VerNumber!] EQU [15.0] (Set "MSOffice=Office 2013")
    If [!VerNumber!] EQU [16.0] (Set "MSOffice=Office 2016+")
    Color 0B & echo Word Application is installed ("!MSOffice!"^) (VerNumber="!VerNumber!"^)
) else ( 
    Color 0C & echo Word Application is not installed ! & Timeout /T 3 /Nobreak>nul & Exit /B
)
EndLocal
Pause & Exit /B

asked Jun 12, 2022 at 10:12

Hackoo's user avatar

2

The questions linked in the comment only answer for version of Office when installed but don’t really try to answer when there is no version installed

In my test, your variable is always set even when you don’t have Office installed….

Add in your For /f loop the 2>nul redirector and your loop will not return any string that defines your variable…

Your if defined are not working….

@echo off
Title Check if Word Office is installed or Not ? And Which Version Number ?
@for /f "skip=2 tokens=3 delims=." %%a in (
    '2^>nul reg query "HKEY_CLASSES_ROOTWord.ApplicationCurVer" /f App*'
) do (
    Set "VerNumber=%%a.0"
)
SetLocal EnableDelayedExpansion
If defined VerNumber (
    If [!VerNumber!] EQU [11.0] (Set "MSOffice=Office 2003")
    If [!VerNumber!] EQU [12.0] (Set "MSOffice=Office 2007")
    If [!VerNumber!] EQU [14.0] (Set "MSOffice=Office 2010")
    If [!VerNumber!] EQU [15.0] (Set "MSOffice=Office 2013")
    If [!VerNumber!] EQU [16.0] (Set "MSOffice=Office 2016+")
    Color 0B & echo Word Application is installed ("!MSOffice!"^) (VerNumber="!VerNumber!"^)
) else ( 
    Color 0C & Timeout /T 3 /Nobreak | echo Word Application is not installed^^! & Exit /B
)
EndLocal
Pause & Exit /B

answered Jun 12, 2022 at 10:46

Io-oI's user avatar

Io-oIIo-oI

7,0433 gold badges12 silver badges40 bronze badges

1

  • Home
  • VBForums
  • VBForums CodeBank
  • CodeBank — Visual Basic .NET
  • How to check if word , excel ,access or any office application is Installed ??

  1. Aug 26th, 2005, 07:55 PM


    #1

    maged is offline

    Thread Starter


    Frenzied Member

    maged's Avatar


    How to check if word , excel ,access or any office application is Installed ??

    first of all you must import namespace [ microsoft.win32] to access the registery classes in .net framwork

    then this code will check the regestery if the application is installed or not

    VB Code:

    1. Dim TargetKey As RegistryKey

    2.         TargetKey = Registry.ClassesRoot.OpenSubKey("word.application")

    3.         If TargetKey Is Nothing Then

    4.             MsgBox("Word application is not found")

    5.         Else    'key is found

    6.             MsgBox("Word application is found")

    7.             TargetKey.Close()

    8.         End If

    you can change the string in the second line from «word.application» to «excel.application» or «access.application» in order to check for different components.

    rgds


  2. Aug 26th, 2005, 08:08 PM


    #2

    Re: How to check if word , excel ,access or any office application is Installed ??

    You could also test for it without having to work around any possible user permissions to the reqistry by just error trapping the creation of an object of the type your testing for.

    VB Code:

    1. Private bInstalled As Boolean

    2. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

    3.         Try

    4.             Dim oApp As Object = CreateObject("Outlook.Application")

    5.             bInstalled = True

    6.         Catch

    7.             bInstalled = False

    8.             MessageBox.Show("Office Application not installed!", "Office Installed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)

    9.         End Try

    10. End Sub

    VB/Office Guru� (AKA: Gangsta Yoda)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum. Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru� Word SpellChecker�.NETVB/Office Guru� Word SpellChecker� VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24″ LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6


  3. Aug 26th, 2005, 08:50 PM


    #3

    maged is offline

    Thread Starter


    Frenzied Member

    maged's Avatar


    Re: How to check if word , excel ,access or any office application is Installed ??

    well that is another way ,

    but mine is more effecient with the drawback of required permession to access registery keys.

    why it is effecient ???
    because
    1 — raising exceptions may take a while in processing, direct code is faster

    2 — try catch statemnt is slower than direct code execution

    3 — if the office application is installed, then you are creating a new instance of the application without any use. also you didn’t dispose it from the memory after monitoring that it is succesffuly created.

    that is all the drawbacks i can find in your code, although this method is more guranteed due to permessions required to access registery.

    anyway, i am only responding to your reply because i like to urgue, but in the matter of fact you are far more experienced than me . only to the current moment, i will do my best

    rgds


  4. Aug 26th, 2005, 08:59 PM


    #4

    Re: How to check if word , excel ,access or any office application is Installed ??

    Oh good, I like to argue too! Jk. I only posted another possibility because I though it may be helpful to have more then one way to skin a cat.

    With my method it has advantages over yours for similar reasons.

    1. — Accessing the registry should be done in a Try Catch block to trap for registry permissions issues.

    2. — Try Catch may be slower but since it is risky to directly attempt to read the registry or create and office app object both should be in a Try Catch block.

    3. — Yes, I am creating an instance of Outlook, but if your testing to see if Outlook is installed its because your going to be using it in your code or why test for it being installed.

    I didnt add allot of clean up code because it was only a logic example.

    You are getting better though and are catching up to me.

    VB/Office Guru� (AKA: Gangsta Yoda)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum. Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru� Word SpellChecker�.NETVB/Office Guru� Word SpellChecker� VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24″ LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6


  5. Aug 26th, 2005, 10:22 PM


    #5

    maged is offline

    Thread Starter


    Frenzied Member

    maged's Avatar


    Re: How to check if word , excel ,access or any office application is Installed ??

    You are getting better though and are catching up to me.

    ohhhh, thank u


  6. Aug 27th, 2005, 10:06 PM


    #6

    Re: How to check if word , excel ,access or any office application is Installed ??

    This can only check if office applications are installed.It cant check any other applications right? Can it?

    Godwin

    Help someone else with what someone helped you!


  7. Aug 27th, 2005, 10:44 PM


    #7

    Re: How to check if word , excel ,access or any office application is Installed ??

    With my code you would just change the one line of code with the «CreateObject(«Outlook.Application»)» to pass the application and type you want to test for.

    VB Code:

    1. Dim oApp As Object = CreateObject("SomeProgram.ApplicationType")

    VB/Office Guru� (AKA: Gangsta Yoda)
    I dont answer coding questions via PM. Please post a thread in the appropriate forum. Microsoft MVP 2006-2011
    Office Development FAQ (C#, VB.NET, VB 6, VBA)
    Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
    If a post has helped you then Please Rate it!
    Reps & Rating PostsVS.NET on Vista Multiple .NET Framework Versions Office Primary Interop AssembliesVB/Office Guru� Word SpellChecker�.NETVB/Office Guru� Word SpellChecker� VB6VB.NET Attributes Ex.Outlook Global Address ListAPI Viewer utility.NET API Viewer Utility
    System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24″ LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6


  • Home
  • VBForums
  • VBForums CodeBank
  • CodeBank — Visual Basic .NET
  • How to check if word , excel ,access or any office application is Installed ??


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
  • BB code is On
  • Smilies are On
  • [IMG] code is On
  • [VIDEO] code is On
  • HTML code is Off

Forum Rules


Click Here to Expand Forum to Full Width

  • Remove From My Forums
  • Question

  • User-2136619341 posted

    Hi

       I am working on .NET 3.5 applciation. I want ot check if the MS Excel , word , Power Point and adobe are installed on the Client machine.

     How to do this in my aspx page?

    How to check if applicaiton has been installed in a machine or not?

    Thanks

    Ashok

Answers

  • User377791177 posted

    PART OF THIS YOU CAN ACHIEVE (AND THAT TOO IE ONLY).

    <script>

    var objWord= new ActiveXObject(‘Word.Application’);

    OR

    try

    {

    var objWord= new ActiveXObject(‘Word.Application’);

    var objExcel= new ActiveXObject(‘Excel.Application’); 

    var objPPT= new ActiveXObject(‘Powerpoint.Application’); 

    }

    catch(e)

    {

    alert(‘MSOFFICE HAS ISSUES’)

    }

    </script>

    • Marked as answer by

      Thursday, October 7, 2021 12:00 AM

  • User-1171043462 posted

    Hi,

    when i execute this line of  code

    var objWord= new ActiveXObject(‘Word.Application’); 

      i get an error saying even if word is installed on the machine.

    error «Automation server can’t create object»

    number -2146827859

    thanks

    Ashok

    It will run only if you reduce the security level of your IE which no one will do

    • Marked as answer by
      Anonymous
      Thursday, October 7, 2021 12:00 AM

  • User-1597315603 posted
    Hi <?xml:namespace prefix = o ns = «urn:schemas-microsoft-com:office:office» /><o:p></o:p>
    <o:p> </o:p>
    We can detect the OS and Browser properties on client-side by JavaScript easily:<o:p></o:p>
    <o:p> </o:p>
    Detect OS and Browser by JavaScript<o:p></o:p>
    http://lancezhang.wordpress.com/2008/11/06/detect-os-and-browser-by-javascript/<o:p></o:p>
    <o:p> </o:p>
    And we can also detect some Browser ActiveX plug-in(such as Flash player) by JavaScript:<o:p></o:p>
    <o:p> </o:p>
    SWFObject: Javascript Flash Player detection and embed script<o:p></o:p>
    http://blog.deconcept.com/swfobject/<o:p></o:p>
    <o:p> </o:p>
    However, just as mudassarkhan said, due to the security issue, we cannot detect if other software (such as Firewall, pop up blocker) has been installed on the client-machine, because we cannot
    access the Registry on client-machine.<o:p></o:p>

    <o:p> </o:p>
    For Microsoft Office, just as shashankgwl’s solution, we can use ActiveX to detect; however, it will only work for IE, and sometimes cannot success due to the Internet Security Level on client-machine.<o:p></o:p>
    <o:p> </o:p>
    Thanks.<o:p></o:p>

    • Marked as answer by
      Anonymous
      Thursday, October 7, 2021 12:00 AM

  • User798903548 posted

    [:S] Eight responses to tell the guy that he can’t do that? Unbelievable when you see that he was told that in the very first response! [:|]

    NC…

    • Marked as answer by
      Anonymous
      Thursday, October 7, 2021 12:00 AM

Microsoft Word exists in many different versions. Sometimes you need to know what Word version you have installed. For example, you may find add-ins on this site that are relevant only for specific versions of Word.

The information below will help you answer the question: «What version of Word do I have?«.

Latest updated 18-Oct-2021: Updated with information about the new Word 2021 that was released as part of Microsoft Office 2021 in October 2021.

NOTE – Microsoft has changed product names as of April 21, 2020
Office 365 has been renamed to Microsoft 365.
Correspondingly, Word for Office 365 has been renamed to Word for Microsoft 365.

How to detect the version of Word just by looking at the Word window

Word version – Word 2021 and Word for Microsoft 365 – no color behind tabs – selected tab is underscored

Figure 1. Word 2021 and Word for Microsoft 365 – no color behind Ribbon tabs – selected tab is underscored.

Word version – Word 2019 – 3D Models is new in Word 2019

Figure 2. Word 2016 and Word 2019 – color behind the Ribbon tabs – selected tab has no background color. In Word 2019, you will find 3D Models on the Insert tab – it is not found in Word 2016.

Word 2016 and Word 2019 – Help added after the tab names in the Ribbon.

Figure 3. Word 2016 and Word 2019 – Help added after the tab names in the Ribbon.

Word version – Search icon in Title bar in Word 2021 and Word for Microsoft 365.

Figure 4. In Word 2021 and Word for Microsoft 365, you will see only the magnifier icon without text, and it has been moved to the Title bar.

Word version – Word for Microsoft 365 has Editor group on Home tab – not found in Word 2021.

Figure 5. Word for Microsoft 365 has Editor group on Home tab – not found in Word 2021.

Word for Microsoft 365, Word 2016, Word 2019, Word 2021

There are only a few visible differences between Word 2016 and Word 2019. Correspondingly, there are only a few visible differences between Word 2021 and Word for Microsoft 365.

All four versions have a Ribbon with several tabs, starting with the File tab followed by Home, Insert, etc.

Word 2021 and Word for Microsoft 365 have no special background color behind the Ribbon tabs. The selected tab is underlined. See Figure 1.

Word 2016 and Word 2019 have a colored background behind the Ribbon tabs. The selected tab has no background color.  Word 2019 has a new command, 3D Models, on the Insert tab. It is not found in Word 2016. See Figure 2.

Word 2016 and Word 2019 have a Tell me what you want to do… help in the Ribbon. See Figure 3.

In Word 2021 and Word for Microsoft 365, you will see only the magnifier icon without text and it has been moved to the Title bar. A Search field appears when you click the icon. See Figure 4.

Word for Microsoft 365 has e.g. an Editor group on the Home tab that is not found in Word 2021. See Figure 5.

Word for Microsoft 365 is the version you have if you have Microsoft 365 installed. With Microsoft 365 you will automatically have the latest Word version. However, you may have the version updated with a delay depending on which Channel you are on, i.e. how often your Microsoft 365 is updated (Monthly Channel, Semi-Annual Channel).

Word version – Word 2013 – tab names in uppercase

Word version – Word 2013 – tab names in uppercase.

Word 2013

Has FILE tab

Has ribbon with HOME, INSERT, PAGE LAYOUT, etc.

Names of tabs are in UPPERCASE

Word version – Word 2010 – tab names in Title Case

Word version – Word 2010 – tab names in Title Case.

Word 2010

Has File tab

Has ribbon with Home, Insert, Page Layout, etc.

Does not have Tell me what you want to do… help in the ribbon

Word version – Word 2007 – Office button

Word version – Word 2007 – Office button.

Word 2007

Has Office button

Has ribbon with Home, Insert, Page Layout, etc.

Word version – Word 2003 – Menu bar with Help menu

Word version – Word 2003 – Menu bar with Help menu.

Word 2003 or earlier version

Has menu bar with Help menu

Menu bar includes File, Edit, View, etc.

How to find more details about your Word version – version number and 32-bit / 64-bit information

Once you know which version of Word you have, you can find more details about the specific version by following the relevant information below.

Note that Microsoft Office 2010 and all newer versions of Office exist in both a 32-bit version and a 64-bit version.  Previously, Microsoft recommended to install the 32-bit version. Now, the 64-bit version is the default. However, not all computers can run the 64-bit versions.

Word for Microsoft 365
Word 2021
Word 2019
Word 2016
Word 2013

Select File > Account category (left side of dialog box). You will now see the version number in the right side of the dialog box. See the examples below.

Word 2013

Word 2013 version details

Word 2013 version details.

Word 2019

What version of Word do I have? Word 2019 version details

Word 2019 version details.

Select File tab > Help category (left side of dialog box). You will now see the version number and more information in the right side of the dialog box.

Microsoft Office 2010 was the first version that exists in both a 32-bit version and a 64-bit version. The illustration below is from a 32-bit version. You will see that information at the end of the version number. See more about 32-bit and 64-bit versions.

What version of Word do I have? Word 2010 version details

Word 2010 version details.

Select Office button > Word Options Resources category (left side of dialog box). You will now see the version number in the bottom right of the dialog box. Click the About button next to the version information to open a dialog box with more details.

What version of Word do I have? Word 2007 version details

Word 2007 version details.

Select Help menu > About Microsoft Office Word. You will see the version information in top of the dialog box that opens.

The illustration below tells it is Word 2003. If you have e.g. Word 2002 or Word 2000, you will see that.

Word 2003 version details

Word 2003 version details.

.

How to find more details about Word versions and version numbers

We talk about e.g. Word 2010 or Word 2019 or Word for Microsoft 365 (or just Word 365). Each version of Word has a version number that used to be unique. However, after the launch of Office 2019 in October 2018, this is not exactly true anymore: Word 2016, Word 2019, Word 2021, and Word for Microsoft 365 share the same number!

In the illustrations above for Word 2010, Word 2007, and Word 2003, you see a long number, e.g. 14.0.7116.5000 for Word 2010. The leftmost part of the long number (here 14) is the version number for the Word version.

In case of Word 2013, Word 2016, Word 2019, and Word 2021, you must select File Account category and click the About Word button to see the corresponding number. It is shown in top of the dialog box that opens.

Below are illustrations from Word 2016, Word 2019, Word 2021, and Word for Microsoft 365. As you can see, all four versions have number 16.0 which can lead to a lot of confusion. As you can see in the illustrations for Word 2016 and 2019 below, they even had the entire long version and build number in common at the time when I made the illustrations:

NOTE: The information in the dialog box that opens when you click About Word may not look exactly as shown in the illustrations below. Microsoft seems to move the information around from time to time.

Word version – Word 2016 has number 16.0

Word 2016 has number 16.0

Word version – Word 2019 has number 16.0

Word 2019 has number 16.0

Word 2021 has number 16.0

Word 2021 has number 16.0

Word version – Word for Microsoft 365 has number 16.0

Word for Microsoft 365 has number 16.0

The number must be used e.g. in macros.

The last two groups of digits in the long number contains information about which updates have been installed.

For Word 2003, you also see SP3 after the version number. It tells that Service Pack 3 has been installed.

Overview of the Word version numbers

Which version

Word 2000

Word 2002

Word 2003

Word 2007

Word 2010

Word 2013

Word 2016

Word 2019

Word 2021

Word for Microsoft 365

Version number

9.0

10.0

11.0

12.0

14.0

15.0

16.0

16.0

16.0

16.0

Comments

Sometimes called Word XP

Microsoft skipped 13

As explained above, Word 2016, Word 2019, Word 2021, and Word for Microsoft 365 have the same number. This is not practical for developers but that is how Microsoft has implemented it.

If you have Microsoft 365 installed, you will automatically have the latest Word version. However, you may have the version updated with a delay depending on which Channel you are on.

How to detect the version of Word by looking at the splash screen that appears when you start Word

When you start Word, a splash screen (i.e. a window with an image showing information about the product) is shown while the program is launching. You may be able to detect the version of Word by looking at the splash screen. However, as you will see from the illustrations below, you may to be able to distinguish between all versions of Word that way.

The splash screen may disappear too quickly for you to catch the information you need. If you have installed one or more add-ins, this will normally make the splash screen stay on screen a little longer since Word needs time to load the add-ins.

The illustrations below show the splash screens from different versions of Word.

Splash screen - Word for Microsoft 365

New slash screen - Word for Microsoft 365

Word for Microsoft 365
Splash screen

Late in 2021, Microsoft has introduced a new look that also affects the splash screen.

You may see either the blue (old) or the white (new) splash screen depending on your Office version.

Notice the text Microsoft 365 in both versions.

As explained above, the name was changed from Office 365 to Microsoft 365 as of April 21, 2020.

Word 2021
Splash screen

Notice both text Office 2021 and a totally new look compared to earlier Office versions.

Splash screen - Word 2019

Word 2019
Splash screen

Notice the text Office 2019.

Splash screen - Word 2016 and Word 2013

Word 2016 and Word 2013
Splash screen

Notice that no useful version information is shown – you can’t see whether it is Word 2016 or Word 2013. You need to use one of the methods above to find out

Splash screen - Word 2010

Word 2010
Splash screen

Notice the text Word 2010.

Splash screen - Word 2007

Word 2007
Splash screen

Notice the text Word 2007.

Splash screen - Word 2003

Word 2003
Splash screen

Notice the text Word 2003.

How to find out whether you have a 32-bit or 64-bit version of Microsoft 365 or Microsoft Office

The versions listed in the leftmost column below exist in both a 32-bit version and a 64-bit version:

Version

How to find the 32-bit / 64-bit information

Microsoft 365

Microsoft Office 2021

Microsoft Office 2019
Microsoft Office 2016
Microsoft Office 2013

To find out whether you have a 32-bit or 64-bit version installed, select File Account category (left side of dialog box). Click the About Word button. You will find the information in top of the dialog box that opens as illustrated below:

Click About Word to find info about 32-bit or 64-bit

Click About Word to find info about 32-bit or 64-bit

Microsoft Office 2010

You will find the information via File tab > Help as illustrated in Figure 9 above.

For more details about 32-bit and 64-bit versions, see: Choose the 32-bit or 64-bit version of Office

How to find the Word version number and build number in VBA (macros)

Find Word version number as string in VBA

You can find the version number of Word with the following VBA code:

Example of result is the string:
«16.0»

Find Word version number as numeric value in VBA

If you need to find out e.g. whether the Word version number is lower or higher than a specific number, you need a numeric value and not a string. For that purpose, you can use the Val function:

Example of result is the numeric value:
16

Find first part of Word build number as string in VBA

You can find the first part of the build number with the following VBA code:

Example of result:
16.0.10827

If you compare the result with the number you see in the About dialog box (see illustrations above), you will see that the last part of the build number is missing. See below for a method to find the full build number. 

Find full Word build number as string in VBA

You can find the full build number with the following function:

Function fncGetFullWordBuildNumber_String() As String
    'Returns string with the full Word build number
    fncGetFullWordBuildNumber_String = _
        CreateObject("Scripting.FileSystemObject") _
        .GetFileVersion(Application.Path & "WINWORD.exe")
End Function

Example of result:
16.0.10827.20150

Free Trial icon

Generate complete documents in seconds from re-usable text or graphics

Manage comments in Word fast and easy – review comments, extract comments to Word or Excel, etc.

Simplify and speed up the management of cross-references even in your most complex documents

Manage and repeat data in Word fast and easy with custom document properties and DocProperty fields

Extract insertions, deletions and comments from any Word document, incl. context and headings

Apply any highlight color or remove highlight in Word with a single click – customizable shortcuts

Browse pages, sections, headings, tables, graphics, etc. and find text in Word with a single click

Check safety-critical procedure documents for human factor issues in minutes – improve quality and help prevent errors

Create screen tips in Word fast and easy – with up to 2040 characters

Like this post? Please share to your friends:
  • Check if value exists excel
  • Check the words in bold in the word list guido is a hyperrealist artist
  • Check if is number excel
  • Check the words in bold in the texts in the word list
  • Check if is date excel