Here's my HTML & CSS:

<!-- begin snippet: js hide: false console: true babel: false --> <!-- language: lang-css -->
.category_title {
  margin-top: 30px;
  margin-left: 40px;
  margin-bottom: 20px;
  display: table;
  height: 30px;
  position: relative;
  top: 10px;
  left: 0px;
}

.pencil_icon {
  width: 15px;
  height: 15px;
  position: absolute;
  top: 0px;
  display: table;
  right: 0px;
  visibility: hidden;
}

.title_elements {
  display: inline;
  height: 100%;
  display: table-cell;
  vertical-align: middle;
}
<!-- language: lang-html -->
<div class="category_title">
  <div onmouseover="pencil_display(event,this);" onmouseout="pencil_out(event,this);">
    <h1 id="title" class="title_elements">Doors</h1>
    <img src="Iconos/pencil.png" alt="Pencil" class="pencil_icon">
    <img src="https://www.materialui.co/materialIcons/content/add_circle_grey_192x192.png" alt="add" id="addicon" class="title_elements">
  </div>
</div>
<!-- end snippet -->

It ends up looking like this:
enter image description here

The "add" icon is supposed to be placed next to "Doors". Any ideas?

<h1> is a block level element so any proceeding content in the document flow will be positioned below it, no matter how much width the h1 takes up.

There are a lot of ways to position content by side by side, and many will depend on your context and the UI you're trying to achieve.

You can try setting display: inline-block; or float:left for both elements to keep them on the same line

<!-- begin snippet: js hide: true console: false babel: false --> <!-- language: lang-css -->
.category_title {
  margin-top: 30px;
  margin-left: 40px;
  margin-bottom: 20px;
  display: table;
  height: 30px;
  position: relative;
  top: 10px;
  left: 0px;
}

.pencil_icon {
  width: 15px;
  height: 15px;
  position: absolute;
  top: 0px;
  display: table;
  right: 0px;
  visibility: hidden;
}

.title_elements {
  display: inline;

  height: 100%;
  display: table-cell;
  vertical-align: middle;
  display: inline-block
}
<!-- language: lang-html -->
<div class="category_title">
  <div onmouseover="pencil_display(event,this);" onmouseout="pencil_out(event,this);">
    <h1 id="title" class="title_elements">Doors</h1>
    <img src="Iconos/pencil.png" alt="Pencil" class="pencil_icon">
    <img src="https://www.materialui.co/materialIcons/content/add_circle_grey_192x192.png" alt="add" id="addicon" class="title_elements">
  </div>
</div>
<!-- end snippet -->