> How does it look? 

Not so good.

1. Not thread safe.

2. Does not handle negative numbers well.

3. Forms `""` with 0.

4. Prone to buffer overflow.

A test harness

    int main(void) {
      char buf[100];
      int test[] = {123, 456, 0, - 42, INT_MAX, INT_MIN};
      int n = sizeof test / sizeof *test;
      for (int i = 0; i < n; i++) {
        itoa(test[i], buf);
        printf("%-11d <%s>\n", test[i], buf);
      }
      return 0;
    }

Output

    123         <123>
    456         <456>
    0           <>
    -42         <,.>
    2147483647  <2147483647>
    -2147483648 <./,),(-*,(>

-----------

> It is not thread-safe due to the static, but is that an issue for a function such as this? 

Yes.  Thread safety is expected.

----

> If so, how could I update that? What other ways could I make improvements to it?

... Later