<h2>Locally principal</h2> At least in height-1 ideal case, in a normal domain (or at least G1+S2 domain), the following should let you know whether the ideal is *locally* principal. Let $I$ be the ideal in question and let $J$ be another ideal isomorphic to $Hom_R(I, R)$. Then $I\cdot J$ is an ideal. If $I$ is locally principal, it corresponds to a Cartier divisor $D$. Then $J$ corresponds to $-D$. It's a fact (first pointed out to me by Tommaso de Fernex) that $D$ is Cartier if and only if $$O(D) \cdot O(-D) = I\cdot J$$ is principal. <h3>That doesn't help...</h3> But you say, this doesn't help us at all (we have another ideal we need to check whether or not it is principal)! The point however, is that we know that the reflexification of $I\cdot J$ is principal! (Recall reflexification just means applying $Hom(\bullet, R)$ twice, Macaulay2 can do this for instance). On the other hand $I \cdot J$ agrees in codimension 1 with its reflexification (since reflexification won't change anything in codimension 1 for a normal domain). It follows that $I\cdot J$ is principal if and only if $I\cdot J$ is reflexive. **Proposition:** *Hence $I$ is locally principal if and only if $I \cdot J$ is reflexive.*