(Edited to reflect new sqldiff behavior no longer optional.) The sqldiff utility, in its latest form (on the trunk branch as of https://sqlite.org/src/info/ff74c0cc4cefa527 ), has a new behavior for its normal output (which is SQL to bring named DB's to sameness.) It renders text field values that are to be updated or inserted in a form that should not suffer the ambiguity of non-graphical characters being treated in special ways that has (probably) led to or contributed to the OP's problem. Now, these sqldiff invocations will show differing line-endings or other less visible control characters that make putatively identical databases not quite identical. For example, where line-endings are CRLF in one and LF in another, running<code> sqldiff test-copy.db test.db and sqldiff test.db test-copy.db </code>will visibly show the difference in those control character sequences. BTW, I still recommend newline normalization for the OP's situation. The sqldiff change makes problems such as his easier to see and remedy, but newline normalization would side-step them altogether.