Sure, technically you &#x2F;can&#x2F; do it, but only in the same way that you can use negative indices in JavaScript arrays and objects. The 0-indexed element won&#x27;t tie into length operators without additional manual bookkeeping with table.setn.<p><pre><code>  $ lua
  Lua 5.2.4  Copyright (C) 1994-2015 Lua.org, PUC-Rio
  &gt; x = {}
  &gt; x[0] = 1
  &gt; =#x
  0
  &gt; =x[0]
  1
  &gt; x[1] = 2
  &gt; =#x
  1
  &gt;
  $ node
  &gt; x = []
  []
  &gt; x[-1] = 0
  0
  &gt; x[0] = 1
  1
  &gt; x
  [ 1, &#x27;-1&#x27;: 0 ]
  &gt; x.length
  1
</code></pre>
That&#x27;s reason enough IMO to just suck it up and use 1-based indexing, even before you add munificent&#x27;s (stronger) point about standard libraries and the rest of the ecosystem.<p>I agree that 1-based indexing isn&#x27;t as much of a downside as people make it out to be, but saying you can ignore it and index from 0 &quot;no worries&quot; is just being silly.