Penguji Regex Gratis — Debug & Cocokkan Pola Online
Uji pola regex secara langsung terhadap teks apa pun. Penyorotan kecocokan waktu nyata, grup tangkap, pratinjau ganti, pemisah, dan penjelas pola. Ekspresi reguler rasa JavaScript, 100% privat, tanpa daftar.
Apa Itu Penguji Regex?
Penguji regex (penguji ekspresi reguler) adalah alat yang memungkinkan Anda menulis pola regex, menempel sepotong teks uji, dan melihat persis apa yang dicocokkan oleh pola — dengan grup tangkap, pratinjau penggantian, dan rincian flag — tanpa mengompilasi ulang kode atau menjalankan skrip. Untuk developer, ia mempersingkat loop dari menit ke milidetik: ubah pola, perhatikan sorotan bergerak, kirim regex dengan percaya diri.
Ekspresi reguler adalah bahasa ringkas untuk menggambarkan pola teks. `\d+` mencocokkan satu digit atau lebih. `[A-Za-z_]\w*` mencocokkan identifier tipikal. `(?
Penguji ini menjalankan engine RegExp ECMA-262 native yang dikirimkan di setiap peramban modern — engine yang sama yang Anda panggil dari JavaScript, TypeScript, Node.js, Deno, atau Bun. Itu berarti: grup tangkap (bernomor dan bernama dengan `(? Apa yang dimunculkan penguji di luar kecocokan mentah: panel Kecocokan & grup tangkap mendaftar setiap kecocokan dengan offset [start, end)-nya dan nilai setiap grup tangkap — informasi yang sama yang akan Anda dapatkan dari `String.prototype.matchAll` dengan flag /d, tetapi diatur untuk pemindaian visual. Tab Ganti menampilkan pratinjau substitusi langsung yang mendukung alfabet template $1 / $& / $` / $' / $$ / $ Untuk privasi: setiap operasi adalah lokal. Pola dan teks uji Anda tidak pernah meninggalkan halaman — mereka tidak dicatat, tidak dikirim ke layanan analitik, tidak disimpan di disk. Hanya preferensi UI Anda (tab aktif + flag mana yang biasanya Anda nyalakan) bertahan ke localStorage. Itu membuat alat ini aman untuk sampel log yang disunting, pola proprietary, konfigurasi internal, dan pola yang mengandung petunjuk tentang skema data Anda. Dibandingkan dengan penguji yang didukung server seperti regex101, cerita privasi dan latensi sangat lebih baik; trade-off-nya adalah dukungan rasa tunggal (hanya JavaScript). Jika Anda baru mengenal regex, dropdown Pola umum dilengkapi dengan pemula yang teruji-tempur: alamat email, URL, IPv4, UUID, hex color, tanggal ISO, nomor telepon AS, dan pola pangkas-spasi-putih-tertinggal. Muat salah satu, amati kecocokan terhadap teks sampel yang disediakan, lalu mutasi pola satu karakter pada satu waktu untuk merasakan bagaimana engine merespons. Padukan dengan alat Text Diff ketika Anda ingin membandingkan sebelum/sesudah pembersihan berbasis regex, dengan JSON Formatter ketika masukan atau output yang diharapkan adalah JSON, atau dengan encoder URL ketika string yang Anda cocokkan adalah URL-encoded.
// The pattern you build in this tester drops straight into JavaScript.
// Example: extract every ISO date from a string with named groups.
const pattern = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/g;
const text = 'shipped 2026-05-21, scheduled 2026-06-30';
for (const m of text.matchAll(pattern)) {
console.log(m.groups.year, m.groups.month, m.groups.day);
// → 2026 05 21
// → 2026 06 30
}
// Same regex, used in a replace with $<name> templates:
text.replace(pattern, '$<day>/$<month>/$<year>');
// → 'shipped 21/05/2026, scheduled 30/06/2026'
// With the /d flag, every match carries [start, end] indices
// per capture group — the Matches panel uses this to paint offsets.
const p2 = /(?<year>\d{4})-(?<month>\d{2})/gd;
const m = [...text.matchAll(p2)][0];
m.indices.groups.year; // [8, 12] Fitur Utama
Penyorotan Kecocokan Langsung
Setiap kecocokan dalam teks uji Anda menyala saat pola Anda terurai. Warna bergantian membuat kecocokan berdekatan mudah dihitung secara visual, dan lencana jumlah di atas hasil memberi tahu Anda total yang tepat — tanpa tombol Jalankan, tanpa penundaan debounce di atas 200ms.
Panel Samping Grup Tangkap
Panel Kecocokan & grup tangkap di sebelah kanan mendaftar setiap kecocokan sebagai kartu dengan offset [start, end)-nya, teks kecocokan penuh, dan setiap grup tangkap posisional + bernama di dalamnya. Grup bernama melabeli dirinya sebagai $
Pratinjau Ganti Langsung dengan $1 / $& / $
Beralihlah ke tab Ganti untuk melihat substitusi Anda diterapkan secara waktu nyata. Alfabet penggantian ECMAScript penuh bekerja: $1..$N untuk posisional, $
Pisah dengan Batas Regex
Tab Pisah memanggil String.prototype.split dengan regex Anda dan menampilkan setiap bagian sebagai daftar bernomor. Bagian kosong dirender dengan glif ⏎ sehingga Anda dapat melihat bagaimana engine menangani pembatas berdekatan — berguna untuk men-debug pembersihan masukan mirip-CSV.
Penjelas Pola (Token-per-Token)
Tab Jelaskan men-tokenisasi pola Anda menjadi chip yang diwarnai berdasarkan kelas (escape / quantifier / character class / grup / anchor / alternasi) dan menganotasi setiap chip dengan deskripsi satu baris. Baca regex Anda sendiri kembali ke diri Anda sebelum pengiriman; gunakan untuk code review atau mengajar.
Aman-ReDoS (Timeout Wall-Clock)
Setiap pemanggilan kecocokan dibungkus dalam anggaran 250 milidetik. Bentuk catastrophic-backtracking klasik seperti `(a+)+`, `(a|aa)+b`, dan quantifier bersarang dalam dibatalkan dengan bersih dengan peringatan Pola kehabisan waktu — halaman tetap responsif alih-alih mengunci tab. Deteksi tanpa sandbox sisi-server.
Pustaka Pola Umum
Pemula teruji-tempur untuk delapan pola yang paling sering dijangkau developer: email, URL, IPv4, UUID v4, hex color, tanggal ISO, nomor telepon AS, dan pangkas-spasi-putih-tertinggal. Masing-masing dimuat dengan sampel yang cocok sehingga Anda melihat regex bekerja sebelum Anda mengadaptasinya.
Berbagi Permalink (Tanpa Unggah)
Salin tautan mengkodekan pola + flag + teks sampel ke hash URL (#p=…&f=gim&t=…). Peramban tidak pernah mengirimkan fragmen URL dalam permintaan, sehingga tautan yang dibagikan mereproduksi state Anda di mesin penerima tanpa menyentuh server go-tools.org. Mandiri, ramah-audit.
100% Privat, Hanya-Peramban
Regex dan teks uji Anda tidak pernah meninggalkan perangkat Anda. Tanpa permintaan jaringan, tanpa pencatatan, tanpa analitik pada apa yang Anda ketik. Verifikasi di DevTools → Network: nol permintaan saat Anda mengetik. Aman untuk pola proprietary, log yang disunting, dan teks apa pun yang tidak akan Anda tempel ke regex101.
Contoh Terkerjakan
Ekstrak setiap alamat email dari sebuah paragraf
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g Tempel pola dengan flag /g aktif, jatuhkan sebuah paragraf ke teks uji, dan setiap email menyala dalam tampilan yang disorot. Panel Kecocokan & grup tangkap di sebelah kanan mendaftar setiap alamat dengan offset [start, end)-nya — berguna saat menyalurkan regex yang sama ke grep, sed, atau editor kode.
Tangkap bagian tanggal dengan grup bernama
(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/g Grup bernama ECMA-262 muncul di panel kanan sebagai $
Cari/ganti dengan referensi-balik $1
(\w+) (\w+)
Penggantian: $2, $1 → Jack Doe → Doe, Jack
Dua grup tangkap tanpa nama, template penggantian $2, $1, dan tab Ganti memberi Anda pratinjau langsung. $&, $`, $', $$, dan $
Lucuti spasi-putih tertinggal baris demi baris
[ \t]+$
/[ \t]+$/gm
Gabungkan flag /g (global) dan /m (multiline) sehingga $ berlabuh di setiap akhir baris, bukan hanya akhir masukan. Tab Ganti dengan pratinjau penggantian kosong menampilkan diff bersih: tab dan spasi tertinggal lenyap, prosa tetap di tempatnya. Regex yang sama dengan flag /s (dotAll) mati membuat . tidak melintasi baris baru.
Deteksi catastrophic backtracking dan selamat darinya
(a+)+b
Teks uji: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac
Quantifier + bersarang membentuk pola ReDoS klasik. Di penguji naif ini menggantung tab. Di sini penjaga wall-clock menyala setelah 250ms, banner Pola kehabisan waktu muncul, dan halaman tetap responsif. Berlabuhkan pola, beralih ke alternasi non-tumpang-tindih, atau gunakan idiom seperti-atomic — lalu uji ulang.
Pisah baris mirip-CSV dengan pembatas campuran
[,;|]\s*
alpha, beta; gamma | delta → ["alpha", "beta", "gamma", "delta"]
Beralihlah ke tab Pisah. Koma, titik koma, atau pipa apa pun (diikuti spasi-putih opsional) menjadi batas bagian. Berguna untuk membersihkan daftar tag yang ditempel, menormalkan masukan pengguna, atau memproses bidang log sebelum parser CSV sungguhan — lihat CSV ke JSON ketika datanya benar-benar RFC 4180.
Cara Menggunakan Penguji Regex
- 1
Ketik pola Anda di antara garis miring
Jatuhkan ekspresi reguler ECMA-262 apa pun ke bidang /…/. Pola yang buruk disorot merah dengan pesan parser; pola yang valid melanjutkan ke pencocokan langsung.
- 2
Aktifkan/matikan flag yang Anda butuhkan
g (global), i (case-insensitive), m (multiline), s (dotAll), u (unicode), y (sticky), d (indeks). Setiap chip menyala ketika aktif; tampilan baca di kanan pola menunjukkan literal kanonik.
- 3
Tempel teks uji Anda
Kecocokan disorot dalam warna bergantian saat Anda mengetik. Panel Kecocokan & grup tangkap di sebelah kanan mendaftar setiap kecocokan dengan offset [start, end) dan nilai setiap grup tangkap (grup bernama dilabeli $
). - 4
Beralih tab untuk Ganti, Pisah, atau Jelaskan
Ganti pratinjau template substitusi berdampingan dengan masukan. Pisah mengiris di setiap batas kecocokan. Jelaskan memecah pola token-per-token dengan deskripsi berbahasa-sederhana per elemen.
- 5
Salin literal atau bagikan permalink
Salin /pattern/flags menjatuhkan literal regex kanonik ke clipboard Anda untuk penggunaan langsung di JavaScript / TypeScript / Node. Salin tautan mengkodekan state penuh ke hash URL (tanpa unggah) sehingga kolega dapat mereproduksinya secara lokal.
Kesalahan Regex yang Umum
Lupa flag /g dan hanya mendapat satu kecocokan
Tanpa /g (atau /y), engine berhenti setelah kecocokan pertama. Metode match, matchAll, replace, dan split semuanya berperilaku berbeda di sekitar flag global. Aktifkan /g dan jalankan ulang; jumlah di atas hasil melompat dari 1 ke N.
Pola: /\d+/ → '1 22 333' menghasilkan hanya ['1']
Pola: /\d+/g → '1 22 333' menghasilkan ['1', '22', '333']
Quantifier serakah mengonsumsi terlalu banyak
`.+` mengonsumsi sebanyak mungkin, jadi `<.+>` terhadap ` and ` menangkap ` and `, bukan ``. Gunakan quantifier malas (`.+?`), character class yang lebih restriktif (`[^>]+`), atau berlabuh dengan lookaround.
Pola: /<.+>/ → mencocokkan '<a> and <b>'
Pola: /<[^>]+>/ → mencocokkan '<a>' dan '<b>' secara terpisah
Catastrophic backtracking dari quantifier bersarang
`(a+)+b` terhadap string gagal yang panjang meledak secara eksponensial. Banner Pola kehabisan waktu menyala setelah 250ms; tulis ulang untuk menghapus penyarangan: `a+b` melakukan pekerjaan yang sama dalam waktu linear. Simulasi grup atomik `(?=(a+))\1b` adalah opsi lain.
Pola: /(a+)+b/ pada 'aaaaaaaaaaaaaaaaaaaaac' → timeout
Pola: /a+b/ pada masukan yang sama → instan 'tidak ada kecocokan'
Anchor $ dan ^ tidak berperilaku seperti \A dan \Z Python
Di JavaScript, `^` dan `$` berarti awal-baris / akhir-baris HANYA ketika /m aktif; jika tidak mereka berarti awal-string / akhir-string. `\A` dan `\Z` Python (yang selalu berarti batas string) tidak ada di JS. Aktifkan /m sesuai kebutuhan.
Pola: /^Error/ pada log multi-baris tanpa /m → mencocokkan hanya baris pertama
Pola: /^Error/m pada masukan yang sama → mencocokkan setiap baris yang dimulai dengan Error
Menggunakan $1 dalam string tetapi memanggil replace dengan fungsi
`text.replace(re, '$1')` memperluas referensi-balik. `text.replace(re, () => '$1')` melewatkan string literal '$1' karena fungsi tidak melihat token template. Di dalam fungsi, grup tangkap tiba sebagai argumen posisional.
text.replace(/(\w+)/, m => '$1') → menghasilkan literal '$1'
text.replace(/(\w+)/, (_, g1) => g1.toUpperCase()) → menggunakan tangkapan
Karakter Unicode tidak cocok dengan \w atau .
Default `\w` adalah `[A-Za-z0-9_]`. Untuk mencocokkan setiap huruf di setiap aksara, aktifkan /u dan beralih ke `\p{Letter}` (`\p{L}`). Titik juga berhenti di baris baru secara default — gunakan /s (dotAll) ketika Anda ingin karakter-apa-pun yang sejati.
Pola: /\w+/ mencocokkan 'hello' tetapi tidak 'héllo' atau '你好'
Pola: /\p{Letter}+/u mencocokkan ketiganya Menempel pola PCRE; mendapat SyntaxError
JavaScript tidak mendukung grup atomik `(?>...)`, quantifier posesif `a++`, modifier inline `(?i)`, conditional `(?(1)yes|no)`, atau `\A` / `\Z`. Error parser menamai konstruksi yang menyinggung — tulis ulang ke padanan yang didukung-JS (simulasi lookaround, toggle flag terpisah, alternasi).
Pola: (?i)foo → SyntaxError: grup tidak valid
Pola: foo dengan flag /i diaktifkan → efek yang sama
Siapa yang Menggunakan Alat Ini
- Validasi Masukan Formulir Sebelum Pengiriman
- Konfirmasikan regex email / telepon / kode pos / username Anda mencocokkan apa yang Anda harapkan — dan menolak apa yang tidak — di seluruh kasus tepi (nama unicode, plus-aliasing, format internasional) sebelum validasi mencapai produksi dan memantulkan pengguna nyata.
- Ekstrak Data dari Log dan Config
- Bangun pola yang menarik ID permintaan, kode status, latensi, atau baris stack-trace dari irisan log sembarang. Grup bernama membuat data mendokumentasi-diri; panel Kecocokan menunjukkan offset sehingga Anda dapat menyalurkan regex yang sama ke `rg --replace` atau `grep -oE` setelahnya.
- Cari/Ganti Lintas Basis Kode
- Susun draf pola refactor (mis. `(\w+)\.apply\(null,\s*\[(.*?)\]\)` → `$1($2)`) di sini, pratinjau substitusi terhadap cuplikan representatif, lalu tempel regex yang divalidasi ke cari/ganti seluruh-proyek editor Anda dengan percaya diri.
- Periksa Kewarasan Pola yang Ditemukan Online
- Menempel regex dari StackOverflow atau blog? Jatuhkan ke tab Jelaskan — setiap token dianotasi dalam bahasa Inggris sederhana. Menangkap masalah halus (`.+?` di mana Anda menginginkan `.+`, anchor `^`/`$` yang hilang, quantifier yang tidak sengaja serakah) sebelum regex mendarat di kode Anda.
- Ajarkan Regex ke Rekan Tim
- Buka tab Jelaskan pada pola yang berfungsi dan telusuri token-per-token. Pengkodean warna (escape / quantifier / character class / grup / anchor / alternasi) memungkinkan pelajar melihat bentuk struktural regex, bukan hanya karakternya.
- Porting Pola Antar Bahasa
- Memiliki regex Python atau PCRE yang perlu Anda gunakan di JavaScript? Tempel di sini. Jika terurai, penjelas menunjukkan semantik setara-JS; jika tidak, error parser menamai konstruksi yang menyinggung (grup atomik, quantifier posesif, `(?i)` inline) sehingga Anda tahu persis apa yang harus ditulis ulang.
- Debug Regex Produksi yang Lambat
- Jika sebuah regex server diduga melakukan catastrophic backtracking, tempel ke penguji ini dengan sampel masukan. Penjaga wall-clock 250ms menyala pada kasus patologis, memberi Anda diagnosis langsung sebelum Anda menjangkau alat profiler — dan penjelas menunjuk pada akar masalah quantifier-bersarang.
Catatan Engine & Algoritma
- Engine RegExp ECMA-262 (Peramban Native)
- Menggunakan `new RegExp(pattern, flags)` dan engine yang dikirimkan dengan V8 / JavaScriptCore / SpiderMonkey — semantik regex yang sama yang Anda dapatkan di JavaScript di mana saja. Pola yang divalidasi di sini berjalan tanpa perubahan di Node.js, Deno, Bun, dan setiap peramban modern.
- Iterasi Kecocokan via String.matchAll
- Iterasi global menggunakan `text.matchAll(regex)` alih-alih loop lastIndex manual, sehingga setiap kecocokan membawa grup tangkapnya, grup bernama, dan (dengan /d) indeks [start, end]. Kecocokan lebar-nol ditangani dengan kenaikan lastIndex +1 standar untuk menghindari infinite loop.
- Timeout Wall-Clock untuk Perlindungan ReDoS
- Anggaran 250 milidetik membungkus setiap pemanggilan match, replace, dan split. Engine masih dapat backtrack secara internal pada satu upaya kecocokan, tetapi iterasi luar bekerja sama dengan anggaran — pola patologis dibatalkan dengan `timedOut: true` dan UI memunculkan peringatan alih-alih mengunci tab.
- Reimplementasi Template Penggantian
- Tab Ganti mengurai $1..$N, $&, $`, $', $$, dan $
secara manual alih-alih mendelegasikan ke `String.replace`, sehingga pratinjau berperilaku identik lintas engine (Safari lama, Node lama) di mana template grup-bernama memiliki kasus tepi. Output adalah persis apa yang dihasilkan engine JavaScript saat ini. - Tokenizer Pola untuk Penjelas
- Tab Jelaskan menjalankan tokenizer tulisan-tangan yang mengklasifikasikan setiap fragmen pola (escape / metakarakter / quantifier / character class / pembuka-grup / penutup-grup / anchor / alternasi). Konstruksi yang tidak dikenal jatuh ke `literal` dengan catatan generik sehingga penjelas tidak pernah secara diam-diam menjatuhkan konten.
- Permalink melalui Hash URL (Tidak Pernah Dikirim)
- State bagikan dikodekan dalam fragmen location.hash (`#p=…&f=…&t=…&tab=…`). Peramban tidak pernah mengirimkan fragmen dalam permintaan HTTP, sehingga server go-tools.org menerima nol data ketika permalink dibuka. Hidrasi terjadi sepenuhnya di perangkat penerima.
Praktik Terbaik Regex
- Berlabuhkan Pola Saat Anda Bermaksud Begitu
- `^pola$` mencocokkan string tepat; `pola` mencocokkan di mana saja. Pilihan yang salah adalah bug paling umum dalam validasi formulir: `^` yang hilang membiarkan `attacker.com/` di depan lolos dari pemeriksaan domain; `$` yang hilang membiarkan sampah tertinggal lewat. Gunakan tab Cocok terhadap sampel yang sengaja rusak untuk mengonfirmasi apa yang ditolak.
- Pilih Grup Non-Tangkap untuk Struktur Murni
- `(?:foo|bar)+` dan `(foo|bar)+` secara fungsional identik, tetapi yang pertama tidak mengalokasikan grup tangkap. Jangkau `(?:…)` kapan pun grup hanya ada untuk quantifier atau alternasi — menjaga $1..$N bernomor Anda stabil dan menghemat sedikit pekerjaan engine.
- Gunakan Flag /u untuk Apa Pun di Luar ASCII
- Tanpa /u, titik dan `\w` memperlakukan karakter pasangan-surrogate (emoji, code point non-BMP) sebagai dua unit UTF-16. Dengan /u, mereka adalah satu code point masing-masing — apa yang akan dipersepsikan pengguna Anda. /u juga mengaktifkan `\p{Letter}` dan property escape lainnya. Default ke /u untuk pola baru kecuali Anda memiliki alasan khusus untuk tidak melakukannya.
- Beri Nama Grup Tangkap Anda
- `(?
\d{4})-(? \d{2})` mendokumentasi-diri. Enam bulan kemudian ketika Anda membaca regex kembali, `m.groups.year` jelas adalah tahun — `m[1]` tidak. Template penggantian dengan $ juga bertahan dari penataan ulang grup: template posisional rusak begitu seseorang menambahkan grup lain. - Uji Kasus Kegagalan, Bukan Hanya Sukses
- Penguji regex adalah untuk kegagalan. Konfirmasikan apa yang dicocokkan pola Anda, lalu sengaja mutasi teks uji untuk melihat apa yang tidak — spasi-putih di depan, spasi-putih tertinggal, bagian yang hilang, bagian ekstra, huruf yang salah, aksara campuran. Pola yang lulus masukan valid tetapi menerima sampah adalah bug yang pertama kali dipaparkan produksi.
Pertanyaan yang Sering Diajukan
Apakah regex atau teks uji saya dikirim ke server Anda?
Rasa regex apa yang digunakan penguji ini — PCRE, Python, Java, JavaScript?
Apa fungsi masing-masing flag g, i, m, s, u, y, d?
Bagaimana cara menulis grup tangkap dan bagaimana cara merujuk kembali ke sana?
Bagaimana cara kerja lookahead dan lookbehind, dan untuk apa keduanya bagus?
Mengapa regex saya menggantung peramban, dan apa itu catastrophic backtracking?
Apa bedanya penguji regex ini dengan regex101.com?
Bagaimana cara meng-escape karakter spesial seperti . | ( ) [ ] { } * + ? ^ $ \?
Bisakah saya membagikan regex dengan kolega melalui tautan?
Apakah penguji mendukung Unicode, emoji, dan aksara non-Latin?
Apa perbedaan antara .match, .matchAll, .replace, dan .split dengan regex?
Mengapa regex Python atau Java saya tidak bekerja di sini?
Apakah ada ukuran teks maksimum atau jumlah kecocokan?
Alat Terkait
Lihat semua alat →Bandingkan Teks & Text Diff
Pemrosesan Teks
Bandingkan dua teks langsung di browser. Tampilan berdampingan, sorotan per kata, ekspor diff terpadu, opsi abaikan kapitalisasi/spasi/baris kosong. 100 % di browser — tanpa upload.
Alat Penghitung Kata & Karakter Gratis
Pemrosesan Teks
Hitung kata, karakter, kalimat, paragraf, dan waktu baca secara langsung. Penghitung kata waktu nyata dengan pemeriksaan batas Twitter, meta description, dan Instagram. Gratis, privat, tanpa daftar.
Konverter Basis Bilangan — Biner, Hex, Desimal & Oktal
Alat Konversi
Konversi antara biner, hex, desimal, oktal, dan basis apa pun (2-36) secara instan. Presisi BigInt, output siap kode. Gratis, privat — tanpa pendaftaran.
Decode & Encode Base64 Online — Konversi Instan di Browser
Encoding & Pemformatan
Decode dan encode Base64 online gratis. Konversi real-time dengan dukungan UTF-8 dan emoji. 100% privat di browser Anda. Tanpa pendaftaran.
Generator Crontab & Pembuat Ekspresi Cron
Tanggal & Waktu
Bangun, validasi, dan dekode ekspresi cron di peramban Anda. Pratinjau langsung jadwal berikutnya dalam waktu lokal atau UTC. Sintaksis POSIX 5 kolom, preset, deskripsi bahasa biasa. Gratis, privat, tanpa daftar.
Konverter CSV ke JSON
Encoding & Pemformatan
Konversi CSV ke JSON di browser. RFC 4180, infer tipe, baris header, aman big-int. 100% privat, tanpa unggah.