Skip to content
Perkakas Baris Teks
Tools

Perkakas Baris Teks

Baru

Hapus baris duplikat, urutkan, pangkas, balik, acak, dan beri nomor pada baris teks.

Clean & order
Duplicates
Keep
Sort & case
Filter lines
Add to each line
0 Total lines
0 Unique
0 Blank
0 Duplicates removed
0 lines
0 lines

Runs entirely in your browser. Nothing is uploaded.

Semua operasi baris dalam satu tool online

Halaman line tools serba-guna ini menggabungkan pekerjaan yang biasanya membutuhkan editor kode atau spreadsheet: hapus baris duplikat, urutkan baris, hapus baris kosong, trim spasi, balik urutan, acak, filter, dan tambah nomor baris. Tempel list Anda sekali, aktifkan operasi yang diinginkan, dan output diperbarui secara langsung — tanpa reload, tanpa install, tanpa daftar.

Setiap operasi hanya satu klik, dan Anda bisa menumpuk beberapa sekaligus. Hasilnya adalah editor baris yang cepat dan bisa diprediksi untuk merapikan data hasil ekspor, dedupe list keyword atau email, mengurutkan nama secara alfabetis, atau mengacak urutan. Bar statistik langsung menampilkan jumlah total, unik, kosong, dan yang dihapus sehingga Anda selalu tahu apa yang berubah tanpa menghitung manual.

Hapus baris duplikat — pertahankan yang pertama atau terakhir

Fitur andalannya adalah yang paling banyak dicari orang: hapus baris duplikat. Aktifkan dan baris yang berulang menyusut menjadi satu salinan. Pilih apakah mempertahankan kemunculan pertama (default) atau terakhir, dan aktifkan abaikan kapitalisasi sehingga Apel dan apel dihitung sebagai baris yang sama.

Padukan dengan trim setiap baris untuk menangkap hampir-duplikat yang hanya berbeda karena spasi liar. Statistik langsung menampilkan persis berapa banyak duplikat yang dihapus, dan tombol "Use as input" memungkinkan Anda mendorong hasilnya kembali ke input untuk putaran kedua. Ini cara tercepat untuk dedupe teks tanpa membuka Notepad++ atau Excel — keduanya membutuhkan langkah ekstra dan install desktop yang sepenuhnya dilewati tool ini.

Urutkan baris secara alfabetis, numerik, atau berdasarkan panjang

Line sorter ini menangani setiap urutan umum: A → Z dan Z → A untuk mengurutkan baris secara alfabetis, numerik untuk mengurutkan berdasarkan angka pertama di setiap baris (jadi 2, 10, 1 menjadi 1, 2, 10 alih-alih urutan teks yang salah 1, 10, 2), dan berdasarkan panjang untuk menyusun baris dari terpendek ke terpanjang. Toggle abaikan kapitalisasi menjaga entri berhuruf besar dan kecil tetap berdekatan.

Butuh kebalikan dari urutan? Balik urutan membalikkan seluruh list dari ujung ke ujung, dan acak mengacaknya dengan Fisher–Yates shuffle untuk undian, kuis, dan playlist. Berbeda dari mengurutkan di Notepad++ atau Excel, outputnya tetap berupa teks polos tanpa pemformatan ulang atau konversi kolom — hanya baris dalam urutan yang Anda minta.

Bagaimana ini dibandingkan dengan TextMechanic, DupliChecker, dan Notepad++

TextMechanic.com memisahkan operasi baris ke beberapa halaman — Anda mengunjungi satu URL untuk dedupe, URL lain untuk mengurutkan, URL lain lagi untuk menghapus baris kosong. Setiap operasi adalah reload halaman, dan Anda kehilangan pengaturan Anda antar tugas. Tool hapus-baris-duplikat DupliChecker menangani satu tugas dalam satu waktu tanpa live preview; Anda menempel, klik tombol, dan menunggu. Tidak satu pun tool tersebut menggabungkan deduplikasi, pengurutan, trimming, dan pengacakan dalam satu antarmuka langsung di mana opsi memperbarui output secara instan.

Notepad++ dengan plugin TextFX sangat kuat tapi membutuhkan install desktop, dan plugin-nya tidak dibundel secara default — juga tidak bekerja di Mac atau Linux. VS Code membutuhkan ekstensi Sort Lines. Data → Remove Duplicates di Excel mengubah teks Anda menjadi tabel spreadsheet. Tool browser ini melakukan semuanya tanpa install, tanpa ekstensi, dan tanpa pemformatan ulang — tempel, atur, salin. Ia bekerja identik di Windows, Mac, Linux, iPhone, dan Android.

Bersihkan, filter, dan format ulang baris

Di luar pengurutan, toolkit ini membersihkan dan membentuk ulang teks. Trim setiap baris menghapus spasi di awal dan akhir, hapus baris kosong menghilangkan baris kosong, dan filter memungkinkan Anda mempertahankan atau menghapus hanya baris yang cocok dengan sebuah kata — atau ekspresi reguler lengkap — dengan opsi abaikan kapitalisasi.

Untuk memformat ulang, tambahkan prefix atau suffix ke setiap baris (berguna untuk membungkus item dalam tanda kutip, koma, atau tag HTML) dan aktifkan beri nomor baris untuk menambahkan penomoran yang rapi dan sejajar. Operasi diterapkan dalam urutan tetap yang bisa diprediksi sehingga pengaturan yang sama selalu menghasilkan hasil yang sama — tidak ada kejutan saat Anda kembali ke tool ini dengan list yang berbeda.

Privat, instan, dan gratis — bekerja di perangkat apa pun

Semuanya terjadi secara lokal. Teks Anda diproses sepenuhnya di browser Anda dan tidak pernah diunggah ke server, jadi bahkan list yang panjang atau sensitif tetap di perangkat Anda. Anda bisa memutus koneksi internet setelah halaman dimuat dan tool ini tetap bekerja. Tidak ada biaya, tidak ada akun, dan tidak ada batas panjang selain memori perangkat Anda.

Tool ini bekerja sama di Windows, Mac, Linux, ChromeOS, iPhone, dan Android — browser apa pun yang menjalankan JavaScript. Simpan bookmark line tools ini untuk kali berikutnya Anda perlu mengurutkan baris online, menghapus baris kosong, atau dedupe list dalam hitungan detik tanpa membuka aplikasi desktop atau mempelajari plugin.

Model pipe-and-filter Unix: baris sebagai mata uang universal

Gagasan bahwa baris teks adalah unit dasar pemrosesan data bermula dari Unix karya Ken Thompson dan Dennis Ritchie, dikembangkan di Bell Labs antara 1969 dan 1973. Wawasan mereka — kadang disebut filosofi "semua adalah teks" — adalah bahwa program harus membaca baris dari input standar, mengubahnya, dan menulis baris ke output standar. Ini membuat program bisa dikomposisi: hubungkan dengan operator pipe (|) dan output dari satu program menjadi input program berikutnya.

Contoh klasik yang muncul di hampir setiap buku teks Unix menghitung pesan error paling umum dalam sebuah file log: cat file.txt | grep "error" | sort | uniq -c | sort -rn | head -20. Empat tool kecil melakukan pekerjaannya — grep menyaring baris yang cocok dengan pola, sort mengurutkannya, uniq -c merangkum baris identik yang berdekatan menjadi sebuah hitungan, dan sort -rn kedua menaruh error paling sering di depan. Tidak ada satu tool pun yang melakukan banyak hal; pipeline-lah yang melakukan semuanya. Kemampuan komposisi ini persis yang dibawa tool browser ini bagi pengguna yang tidak punya terminal di tangan: operasi yang sama (filter, urutkan, deduplikasi) ditumpuk dalam satu antarmuka.

Empat tool teks fondasi Unix masing-masing beroperasi pada baris sebagai unit kerjanya. grep (Global Regular Expression Print) hanya mengeluarkan baris yang cocok dengan sebuah pola. sort mengurutkan baris secara leksikografis atau numerik. uniq merangkum baris identik yang berurutan — secara kritis, ia hanya melakukan deduplikasi pada baris yang berdekatan, itulah mengapa sort | uniq selalu muncul bersama dalam pipeline. awk memperlakukan setiap baris sebagai record dengan field yang dipisahkan spasi, membuatnya ideal untuk ekstraksi kolom. Memahami tool-tool ini memperjelas mengapa operasi tingkat-baris begitu kuat: hampir setiap format data terstruktur — CSV, TSV, file log, file konfigurasi, list keyword — pada dasarnya adalah rangkaian baris.

Algoritma pengurutan: mengapa pilihan algoritma mengubah hasil nyata

Tidak semua implementasi sort berperilaku sama, dan memahami perbedaannya penting saat Anda mengurutkan list besar atau data dengan struktur yang sudah ada. Bubble sort (waktu O(n²)) membandingkan elemen bersebelahan dan menukarnya berulang kali — sederhana untuk dijelaskan tapi hampir tidak pernah dipakai di produksi karena sangat lambat pada input besar. Insertion sort juga O(n²) di kasus terburuk tapi menurun performanya secara wajar: ia berjalan dalam waktu O(n) pada data yang hampir terurut, itulah mengapa ia muncul sebagai basis di dalam algoritma hibrida untuk sub-array pendek.

Merge sort berjalan dalam waktu O(n log n) di semua kasus dan bersifat stabil — elemen yang sama mempertahankan urutan relatif aslinya. Fungsi sort() bawaan Python dan Arrays.sort() Java untuk objek keduanya memakai merge sort sebagai fondasinya karena alasan ini. Quicksort juga O(n log n) rata-rata tapi menurun menjadi O(n²) pada input yang sudah terurut atau terbalik kecuali strategi pivot seperti median-of-three dipakai. Keunggulannya adalah ia mengurutkan in-place dengan lokalitas cache yang sangat baik, itulah mengapa qsort() milik C memakainya secara default. Timsort, ditemukan oleh Tim Peters pada 2002 dan kini dipakai di Python, Java 7+, dan mesin JavaScript V8 (yang menggerakkan tool ini di Chrome), adalah hibrida yang menggabungkan run data yang sudah terurut memakai insertion sort lalu menggabungkan run-run tersebut — ia memanfaatkan urutan parsial alami yang hampir selalu dimiliki data dunia nyata, membuatnya sangat cepat pada list yang sudah sebagian terurut.

Radix sort menghindari sepenuhnya batas bawah O(n log n) berbasis perbandingan dengan mengurutkan bilangan bulat digit demi digit, mencapai waktu O(nk) di mana k adalah jumlah digit. Ini adalah algoritma pilihan untuk mengurutkan list besar bilangan bulat atau string dengan panjang tetap. Untuk teks sehari-hari — list keyword, nama, baris log — sort perbandingan yang stabil seperti Timsort adalah optimum praktis, itulah mengapa pengurutan tool ini menghasilkan output yang sama, bisa diprediksi, dan stabil seperti yang Anda harapkan dari runtime Python atau JavaScript modern.

Strategi deduplikasi: dari pencocokan persis hingga deteksi hampir-duplikat

Deduplikasi persis — hanya mempertahankan satu salinan dari string identik — adalah strategi paling sederhana dan yang diterapkan tool ini. Fondasi algoritmiknya adalah teori himpunan: elemen unik dari sebuah list persis adalah himpunannya, dan memasukkan n elemen ke dalam hash set berjalan dalam waktu rata-rata O(n). Inilah mengapa deduplikasi berbasis hash bisa berskala ke jutaan baris tanpa melambat: setiap baris di-hash sekali, hash-nya diperiksa terhadap hash yang sudah dilihat, dan duplikat dibuang. Pipeline sort | uniq di Unix memakai pendekatan berbeda — ia mengurutkan dulu (O(n log n)) lalu menghapus baris identik yang berdekatan dalam satu lintasan linear (O(n)), menukar waktu ekstra dengan implementasi lebih sederhana yang tidak membutuhkan hash table.

Di luar pencocokan persis ada deteksi hampir-duplikat, yaitu bagaimana mesin pencari mengidentifikasi halaman yang sebagian besar sama tapi tidak identik kata demi kata. Kesamaan Jaccard mengukur tumpang tindih antara dua himpunan n-gram: dua dokumen dianggap hampir-duplikat jika skor Jaccard-nya melebihi ambang batas (biasanya 0,8). MinHash mendekati kesamaan Jaccard secara efisien di antara miliaran pasangan dengan meng-hash setiap dokumen menjadi signature kecil yang mempertahankan kesamaan — ini adalah teknologi di balik Simhash milik Google dan banyak sistem deduplikasi konten lainnya. Untuk pembersihan list sehari-hari, deduplikasi persis dengan perbandingan yang abaikan kapitalisasi dan trim spasi mencakup sebagian besar kasus dunia nyata.

Dalam rekayasa data dan pipeline ETL, deduplikasi secara konsisten menyumbang 15–40% dari total pekerjaan pemrosesan. Sebuah database menanganinya lewat SELECT DISTINCT atau GROUP BY, yang diimplementasikan query planner dengan agregasi hash atau agregasi sort-merge — dua keluarga algoritma yang sama seperti di atas. Di tingkat sistem file, ZFS dan Btrfs melakukan deduplikasi tingkat blok, menyimpan setiap blok unik hanya sekali berapa pun banyaknya file yang merujuknya, yang juga menjadi cara penyedia penyimpanan cloud dan perangkat lunak backup (seperti Borg Backup dan Restic) mencapai penghematan ruang yang dramatis. Prinsip yang sama berlaku untuk teks: list keyword, mailing list, atau ekspor log hampir selalu berisi jauh lebih sedikit baris unik daripada total baris, dan melakukan deduplikasi sebelum impor mencegah masalah integritas di hilir.

Normalisasi teks: langkah yang terjadi sebelum segalanya

Normalisasi teks adalah proses mengubah input mentah menjadi bentuk baku agar perbandingan dan operasi berperilaku konsisten. Normalisasi paling umum adalah trimming spasi — menghapus spasi di awal dan akhir dari setiap baris. Ini juga penyebab paling umum dari deduplikasi yang gagal: "apel" dan " apel " tidak sama sebagai string mentah, tapi keduanya merepresentasikan data yang sama. Fungsi trim() JavaScript, str.strip() Python, dan sed 's/^ *//;s/ *$//' Unix semuanya ada karena masalah ini bersifat universal. Tool ini menerapkan trimming sebelum deduplikasi dan pengurutan sehingga baris yang hampir identik dan hanya berbeda karena spasi bisa menyusut sebagaimana mestinya.

Normalisasi kapitalisasi — mengonversi ke huruf kecil untuk perbandingan yang abaikan kapitalisasi — adalah operasi paling umum kedua. Ini terlihat sepele tapi punya jebakan yang terkenal: toLowerCase() JavaScript dan str.lower() Python bersifat locale-aware untuk beberapa karakter. Dalam bahasa Turki, huruf besar I menjadi huruf kecil ı (i tanpa titik), bukan i. Ini berarti toLowerCase() yang naif bisa merusak pencocokan yang abaikan kapitalisasi dalam locale Turki. Untuk bahasa Indonesia dan sebagian besar bahasa berskrip Latin lainnya masalah ini tidak muncul, tapi penting untuk diketahui saat membangun pipeline data yang memproses konten multibahasa. Mode abaikan-kapitalisasi tool ini memakai perbandingan locale-aware untuk menangani kasus tepi semacam itu dengan benar.

Normalisasi akhir baris adalah sumber tersembunyi lain dari bug kualitas data. File Windows memakai akhir baris CRLF (\r\n); Unix dan macOS hanya memakai LF (\n). Ketika file buatan Windows ditempel ke tool yang tidak menghapus carriage-return (\r), setiap baris membawa karakter tak terlihat tambahan yang merusak deduplikasi — "apel\r" dan "apel" bukan string yang sama. Perintah Unix dos2unix (atau sed 's/\r//') menghapus carriage return itu; tool ini menormalkan akhir baris secara otomatis saat ditempel sehingga karakter tak terlihat itu tidak pernah mengganggu pencocokan. Bersama-sama, trim + case-fold + normalisasi akhir baris mencakup sebagian besar pekerjaan pembersihan data yang dibutuhkan sebelum mengurutkan atau melakukan deduplikasi list dunia nyata.

Frequently asked questions

Bagaimana cara menghapus baris duplikat dari teks?

Tempel list Anda, aktifkan "Remove duplicates", dan baris yang identik menyusut menjadi satu kemunculan saja — yang pertama dipertahankan secara default. Contohnya, empat baris apel / pisang / apel / ceri menjadi apel / pisang / ceri. Aktifkan juga "Trim each line" agar baris yang hanya berbeda karena spasi di akhir tetap dihitung sama. Tool seperti TextMechanic.com menangani deduplikasi, tapi Anda butuh page load terpisah untuk setiap operasi. Di sini semuanya diperbarui langsung dalam satu tampilan tanpa reload atau akun.

Bagaimana cara mengurutkan baris secara alfabetis?

Buka menu Sort dan pilih A → Z untuk urutan menaik atau Z → A untuk menurun — pisang / apel / ceri langsung menjadi apel / pisang / ceri. Secara default pengurutan bersifat case-sensitive, jadi huruf besar diurutkan sebelum huruf kecil. Centang "Ignore case" untuk mencampur keduanya secara alami sehingga Apel dan apel berdekatan. Berbeda dari mengurutkan di Excel, teks Anda tetap sebagai teks polos tanpa perlu konversi ke tabel. Pengurutan digabungkan dengan deduplikasi dan trimming dalam satu proses, yang menghemat beberapa langkah copy-paste.

Bagaimana cara menghapus baris kosong atau blank?

Aktifkan "Remove blank lines" dan setiap baris kosong — termasuk baris yang hanya berisi spasi atau tab — dihapus. Padukan dengan "Trim each line" dulu jika sebagian baris terlihat kosong tapi menyimpan spasi tak terlihat. Jumlah baris input dan output Anda diperbarui langsung sehingga Anda bisa melihat persis berapa banyak yang dihapus. Line tools DupliChecker melakukan hal yang sama, tapi halamannya reload pada setiap operasi dan Anda kehilangan pengaturan. Di sini hasilnya diperbarui saat Anda mengetik, dan semua opsi tetap aktif di berbagai pengeditan.

Bagaimana cara membalik urutan baris?

Aktifkan "Reverse order" dan seluruh list terbalik dari atas ke bawah — baris terakhir menjadi yang pertama, dan baris itu sendiri tidak berubah. Ini berguna untuk mengubah log dari terbaru-dulu menjadi terlama-dulu, atau membatalkan sebuah pengurutan tanpa mengetik ulang. Anda bisa menumpuknya dengan operasi lain: dedupe dulu, urutkan A→Z, lalu balik untuk mendapat list Z→A yang sudah dideduplikasi dalam satu langkah tanpa mengunjungi beberapa tool. Operasinya tidak merusak — mematikannya langsung mengembalikan urutan sebelumnya.

Bagaimana cara menambahkan nomor baris ke teks?

Aktifkan "Number lines" dan setiap baris diberi prefix posisinya dan sebuah titik — 1. apel, 2. pisang, 3. ceri. Nomornya diberi padding kanan sehingga list 10 baris atau 100 baris tetap rapi sejajar. Penomoran berjalan terakhir, setelah pengurutan dan penyaringan, sehingga nomornya selalu mencerminkan urutan akhir. Ini berguna untuk membuat checklist bernomor, list peringkat, atau entri bibliografi tanpa menghitung manual, dan nomornya diperbarui otomatis kapan pun Anda mengurutkan ulang atau menyaring list.

Bagaimana cara menghapus baris duplikat di Notepad++, VS Code, atau Excel?

Di Notepad++, Anda butuh plugin TextFX — buka TextFX → TextFX Tools → Sort lines case insensitive (remove duplicates). VS Code membutuhkan ekstensi Sort Lines, lalu Sort Unique Lines dari command palette. Data → Remove Duplicates di Excel mengubah teks Anda menjadi tabel, yang canggung untuk dibatalkan. Ketiga pendekatan ini membutuhkan install software atau plugin yang tidak ada di Mac, Linux, atau mobile. Tool browser ini melewati semua itu: tempel, centang "Remove duplicates", salin — selesai di perangkat apa pun, tanpa install.

Bagaimana cara mengurutkan baris secara numerik atau berdasarkan panjang?

Pilih "Numeric ↑/↓" untuk mengurutkan berdasarkan angka pertama yang ditemukan di setiap baris, jadi 2, 10, 1 menjadi 1, 2, 10 alih-alih urutan teks yang salah 1, 10, 2. Pilih "Length ↑/↓" untuk mengurutkan baris dari terpendek ke terpanjang (atau sebaliknya). Baris tanpa angka jatuh ke akhir pengurutan numerik. Ini sangat berguna untuk mengurutkan nomor versi, item berperingkat, atau ekspor data di mana urutan numerik berbeda dari urutan alfabetis — frustrasi umum di spreadsheet yang tidak punya sort numerik teks khusus.

Bagaimana cara menghapus duplikat dengan mengabaikan kapitalisasi?

Aktifkan "Remove duplicates", lalu centang opsi "Ignore case"-nya. Sekarang Email, EMAIL, dan email semuanya dihitung sebagai baris yang sama dan hanya satu yang dipertahankan. Tanpa opsi itu kapitalisasinya harus persis cocok, jadi ketiganya akan bertahan sebagai baris terpisah. Ini paling penting saat melakukan deduplikasi list email, nama domain, atau list keyword di mana istilah yang sama muncul dalam kapitalisasi campuran dari format ekspor atau sumber data berbeda. Opsi abaikan-kapitalisasi berlaku untuk deduplikasi dan pengurutan alfabetis secara bersamaan.

Bagaimana cara mengacak atau randomize baris?

Aktifkan "Shuffle" untuk mengurutkan ulang setiap baris secara acak memakai Fisher–Yates shuffle, memberi setiap baris peluang statistik yang sama untuk mendarat di posisi mana pun. Ini berguna untuk mengacak list nama untuk undian hadiah, urutan pertanyaan kuis, atau playlist. Klik toggle mati lalu hidup lagi untuk mengacak ulang dengan seed acak baru. Sebagian besar tool teks online tidak menyertakan fitur shuffle — Anda biasanya butuh rumus RAND() spreadsheet, sebuah skrip, atau tool ketiga sepenuhnya. Di sini itu satu klik bersama deduplikasi dan pengurutan.

Amankah memproses teks sensitif secara online?

Ya. Tool ini berjalan 100% sisi klien — setiap operasi terjadi di browser Anda dengan JavaScript dan teks Anda tidak pernah diunggah, dicatat, atau dikirim ke mana pun. Anda bisa memutus koneksi internet setelah halaman dimuat dan tool ini tetap bekerja. Banyak tool serupa, termasuk beberapa ekstensi manipulasi teks dan aplikasi web sisi server, mencatat input untuk analitik atau peningkatan kualitas. Tool ini tidak. Tutup tab-nya dan datanya hilang — memang tidak pernah ada di tempat lain sejak awal.

Bagaimana cara trim spasi dari setiap baris?

Aktifkan "Trim each line" untuk menghapus spasi dan tab di awal dan akhir dari setiap baris, jadi " apel " menjadi "apel". Ini perbaikan untuk list yang disalin dari PDF, spreadsheet, atau ekspor database di mana spasi liar mencegah duplikat cocok atau mengacaukan pengurutan alfabetis. Trimming berjalan sebelum deduplikasi dan pengurutan, jadi " apel " dan "apel" menyusut menjadi satu baris ketika trim dan deduplikasi keduanya aktif. Statistik langsung menampilkan jumlah sebelum-dan-sesudah sehingga Anda bisa memastikan berapa banyak hampir-duplikat yang tertangkap.

Bagaimana cara menghitung baris unik dalam teks saya?

Bar statistik menampilkan Total, Unique, Blank, dan Duplicates removed saat Anda mengetik. "Unique" adalah jumlah baris berbeda dalam input Anda, jadi list 10 baris dengan 4 pengulangan menampilkan 6 unik. Aktifkan "Remove duplicates" untuk hanya mempertahankan baris unik tersebut — penghitung "Duplicates removed" memberi tahu persis berapa banyak salinan yang dibuang. Penghitungnya diperbarui langsung, sehingga Anda selalu tahu status list Anda tanpa menyalin ke tool terpisah. Ini berguna untuk memeriksa kewarasan ekspor sebelum mengimpor ke database atau mailing list.