# Using the latest Font Awesome icons together with Font APEX

## TLDR

Oracle APEX has its own set of icons, called Font APEX. This collection is a subset of the famous Font Awesome icons that are free to use. The collection stays consistent throughout the new versions of APEX with some small additions. However Font Awesome gets updates more frequently than this with a lot more free icons available for use. In this blog post you will learn how to download and use the extended set of icons, together with the built-in Font APEX.

<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Full list and usage of Font APEX: <a target="_blank" rel="noopener noreferrer nofollow" href="https://apex.oracle.com/pls/apex/r/apex_pm/ut/icons" style="pointer-events: none">https://apex.oracle.com/pls/apex/r/apex_pm/ut/icons</a></div>
</div>

## Benefits

Having the additional set of the original Font Awesome icons brings some important benefits to the application development process.

1. **Expanded Icon Library**:
    
    * **Font Awesome** offers a vast collection of icons covering various categories such as technology, business, social media, and more.
        
    * By using both Font Awesome and Font APEX, you can **expand your available icon options**. This is especially useful when you need specific icons that are not part of the default Font APEX set.
        
        ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702884779046/beb49e8c-ce2c-4186-a6a1-1f93c0d1de1d.png align="center")
        
2. **Customization and Aesthetics**:
    
    * **Font Awesome** provides icons with different styles (solid, regular, light, etc.) and customization options.
        
    * Combining Font Awesome icons with Font APEX allows you to **tailor the visual appearance** of your application. You can choose icons that align better with your design and branding.
        
        ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702884918182/51e5cb57-fec5-4429-aa8d-e35611591f79.png align="center")
        
        <div data-node-type="callout">
        <div data-node-type="callout-emoji">💡</div>
        <div data-node-type="callout-text">Note that <code>Thin</code> , <code>Light</code> and <code>Duotone</code> icons are available in the paid PRO plans of Font Awesome.</div>
        </div>
        
3. **Specialized Use Cases**:
    
    * Font Awesome includes icons specifically designed for certain scenarios (e.g., payment methods, medical symbols, etc.).
        
    * When building applications, you might encounter unique requirements where Font Awesome icons are a better fit. Having access to both libraries allows you to address these specialized use cases effectively.
        
        ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702886514686/49ab9fc4-a0fc-4bcf-a18d-aa7daf613679.png align="center")
        

## Installation

1. Download the latest Font Awesome for Web  
    [https://fontawesome.com/download](https://fontawesome.com/download)
    
2. Extract to a local folder. Should end up with something like this:
    
    ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1686293306371/9cb01002-d3bf-4cbd-ac78-959c31c901a4.png align="left")
    
3. Open the `less/_variables.less` file for editing. Change the variable below and save.
    
    ```less
    // put whatever prefix you want instead of fa6.
    // The original prefix was fa
    @fa-css-prefix          : fa6;
    
    // change the path if you will have both the CSS
    //  and font files in the same folder in APEX
    
    // The original path was ../webfonts which means that 
    //  you had to have a webfonts folder in APEX at the same level
    //  as the folder with the CSS files
    @fa-font-path           : "";
    ```
    
4. Open a Command Prompt or Terminal on Mac. Depending on the operating system, make sure `less` is installed. For MacOS, use the following command:
    
    ```bash
    sudo npm install less -g
    ```
    
5. Open the terminal window in the Font Awesome `less` folder.
    
6. Run the following commands to compile the `fontawesome.less` , `brands.less` , etc. files:
    
    ```bash
    lessc fontawesome.less fontawesome.css
    lessc brands.less brands.css
    lessc regular.less regular.css
    lessc solid.less solid.css
    ```
    
    This will create new CSS files in the folder - `fontawesome.css`, `brands.css`, etc.
    
7. In APEX, in Static Application files or Static Workspace files, upload the new CSS files to a new folder, mine was named `fa6`. So now you should have these two files as follows:  
    `#APP_FILES#fa6/fontawesome.css`  
    `#APP_FILES#fa6/brands.css`
    
8. In the same folder in Static Application files or Static Workspace files, add the font files located on your local machine in the folder webfonts - `fa-brands-400.ttf` , `fa-brands-400.woff2` , etc.
    
9. You should now have the following too:
    
    `#APP_FILES#fa6/fa-brands-400.ttf`  
    `#APP_FILES#fa6/fa-brands-400.woff2`  
    `etc.`
    
10. In your APEX application, go to Shared Components. Add the path to the CSS files in `Application Definition` / `User Interface` / `CSS`.
    
11. Use the new icons! Here is an example:
    

```xml
<span class="t-Icon t-Icon--left fa6-brands fa6-strava" aria-hidden="true"></span>
```

```xml
<span class="t-Icon t-Icon--left fa6-beat-fade fa6-brands fa6-hashnode" aria-hidden="true"></span>
```

```xml
<span class="t-Icon t-Icon--left fa6 fa6-pen-nib" aria-hidden="true"></span>
```

A full list of Brands icons can be found here.

[https://fontawesome.com/search?o=r&f=brands](https://fontawesome.com/search?o=r&f=brands)

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702882676689/8da380bd-d295-4d7f-8d29-7154ab845781.png align="center")

1. Additionally, add the reference to the icons CSS file in the app `Theme` / `Icons` so you can select them from the Builder.
    

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1686305487312/d098f937-5cc3-4415-971b-f784ad4fde61.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1686305495698/2706a8a8-251b-4dcb-a30a-0996c67047d0.png align="center")

<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">The only downside is that you only have the names in the <code>Custom</code> tab and not the actual icons previewed.</div>
</div>

## Other resources

Having an extended set of Font Awesome icons has always been a popular demand, that's why many people have done similar step-by-step tutorials in the past. Here is a short list:

%[https://askmax.blog/2018/01/29/use-font-apex-and-font-awesome/] 

[![](https://cdn.hashnode.com/res/hashnode/image/upload/v1702883304418/8753a006-c543-4fe5-b34d-22466f9bc78e.png align="center")](https://jeffkemponoracle.com/2020/04/font-awesome-v5-alongside-font-apex/)

<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Additionally, you can check this comparison between the icon sets of Font APEX and Font Awesome (although a few versions back): <a target="_blank" rel="noopener noreferrer nofollow" href="https://apex.oracle.com/pls/apex/jk64/r/fa5/home" style="pointer-events: none">https://apex.oracle.com/pls/apex/jk64/r/fa5/home</a></div>
</div>

## Follow me

Did you like this blog post?  
Follow me! 🔔

[![](https://cdn.hashnode.com/res/hashnode/image/upload/v1684769855346/4a53f86b-e5ba-4c0b-bf79-0397a8f3c054.png?auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp align="left")](https://twitter.com/plamen_9?ref_src=hashnode)

[![](https://cdn.hashnode.com/res/hashnode/image/upload/v1684769877594/82a5de36-0e62-48e9-94d7-81620e92018b.png?auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp align="left")](https://blog.apexapplab.dev/www.linkedin.com/comm/mynetwork/discovery-see-all?usecase=PEOPLE_FOLLOWS&followMember=plamen-mushkov)
