« ngl » is short for « not gonna lie ».
ngl stands for « not gonna lie ». It does the same job as tbh, with a younger edge: it introduces an admission.
« ngl that was hard » concedes something the writer would rather not concede. It marks the sentence as costing the speaker something.
Written out, it is « not gonna lie » — but gonna is itself a spoken reduction of going to, and the phrase drops a subject. The full sentence is I'm not going to lie. Two layers to undo, which is why this one reads oddly when half-expanded.
Here is what CorrectSMS does with a message containing « ngl ». The correction and the explanations are the app's own.
ngl that test was way harder then i thougt
Not gonna lie, that test was way harder than I thought.