UTILS.
100% in de browser
🎨

JavaScript-opmaker / formatter

Maak geminificeerd of rommelig JavaScript en JSON netjes op met consistente inspringing, spatiëring en regeleinden — een handgeschreven formatter die volledig in de browser draait.

— uitvoer verschijnt hier —

Over deze tool

De JavaScript-opmaker herformatteert geminificeerd, eenregelig of inconsistent ingesprongen JavaScript en JSON naar schone, leesbare broncode met uniforme inspringing en spatiëring. Het is handig om een gebundelde bibliotheek te lezen, een gekopieerd fragment op te schonen of een JSON-blob te inspecteren. Alles gebeurt in je browser — de code wordt alleen als tekst geherformatteerd, nooit uitgevoerd, dus er is geen eval, geen new Function, en er wordt niets geüpload.

De formatter is een handgeschreven tokenizer, geen regex-truc: hij scant de broncode in tokens terwijl hij correct over de binnenkant van strings, template literals, reguliere expressies en regel-/blokcommentaar heen springt, zodat aanhalingstekens en schuine strepen daarin nooit voor structuur worden aangezien. Een klassieke lookbehind-heuristiek onderscheidt een deeloperator van een reguliere-expressie-literal. De tokenstroom wordt vervolgens opnieuw uitgevoerd met nieuwe regels na '{', '[' en ';', geïnspringde regels vóór '}' en ']', één item per regel binnen object- en array-literals, en een enkele spatie rond operatoren en na sleutelwoorden.

Kies een inspringing van 2 spaties, 4 spaties of een tab, en een accoladestijl: collapse houdt de openingsaccolade op dezelfde regel (K&R / 1TBS), terwijl expand hem op zijn eigen regel plaatst (Allman). Omdat de tool string- en regex-inhoud byte voor byte behoudt, is de geherformatteerde code semantisch identiek aan de invoer. Kopieer het resultaat rechtstreeks naar je editor.

Veelgestelde vragen

Draait of evalueert het mijn code?
Nee. De opmaker tokenizet en geeft je broncode alleen als tekst opnieuw uit. Hij roept nooit eval of new Function aan en voert de code nooit uit, dus het plakken van niet-vertrouwd of eigen JavaScript is veilig. Al het werk blijft in je browser.
Werkt het ook op JSON?
Ja. JSON is een subset van de JavaScript-syntaxis, dus het plakken van een geminificeerd JSON-object of -array laat het overvloeien in een ingesprongen vorm met één sleutel per regel. Strings, getallen en geneste structuren worden op dezelfde manier opgemaakt als in JavaScript.
Wat is het verschil tussen de accoladestijlen?
Collapse (K&R / 1TBS) houdt de openingsaccolade op dezelfde regel als de instructie, bijv. 'if (x) {'. Expand (Allman) plaatst de openingsaccolade op zijn eigen regel onder de instructie. Beide produceren identieke, geldige code — alleen de opmaak verschilt.
Verandert het wat mijn code doet?
Nee. Alleen witruimte, inspringing en regeleinden veranderen. De inhoud van strings, template literals en reguliere expressies wordt exact behouden, dus de geherformatteerde uitvoer is functioneel identiek aan de oorspronkelijke broncode.

Meer tools