Công Cụ Chuyển Đổi Văn Bản Online Miễn Phí Cho Blogger

Chia sẻ công cụ chuyển đổi văn bản online miễn phí: viết hoa, viết thường, bỏ dấu tiếng Việt, đảo ngược chữ và copy nhanh cho blogger.

Bạn đã bao giờ phải loay hoay chỉnh sửa văn bản trước khi đăng blog chưa? Lúc thì cần viết hoa tiêu đề, lúc lại muốn viết thường cho gọn gàng, rồi còn chuyện bỏ dấu tiếng Việt để tạo slug chuẩn SEO. Những thao tác nhỏ nhưng lặp đi lặp lại khiến việc viết lách đôi khi trở nên mệt mỏi. Hiểu điều đó, TruongDevs chia sẻ đến bạn một công cụ chuyển đổi văn bản online miễn phí để xử lý tất cả chỉ với vài cú click.

Với chiếc tool này, bạn có thể nhanh chóng viết hoa, viết thường, đảo ngược chữ, bỏ dấu tiếng Việt và sao chép kết quả chỉ trong chớp mắt. Đặc biệt, tính năng tạo slug chuẩn SEO giúp bài viết của blogger trở nên tối ưu hơn trên công cụ tìm kiếm. Giao diện đơn giản, thân thiện và không cần cài đặt, đây chính là trợ thủ đắc lực giúp bạn tiết kiệm thời gian và làm nội dung chuyên nghiệp hơn.

cong cu chuyen doi van ban online
Share code chuyển đổi văn bản online cho Blogger

Tính năng nổi bật của công cụ chuyển đổi văn bản online

Công cụ chuyển đổi văn bản online do TruongDevs chia sẻ được thiết kế đơn giản, dễ dùng nhưng vẫn đầy đủ những thao tác cần thiết cho blogger. Dưới đây là những tính năng nổi bật mà bạn có thể sử dụng ngay trong trình duyệt.

  • Viết hoa toàn bộ: nhanh chóng biến văn bản thành chữ in hoa gọn gàng.
  • Viết thường toàn bộ: hạ toàn bộ chữ cái về dạng viết thường.
  • Viết hoa chữ cái đầu: mỗi từ đều bắt đầu bằng chữ hoa, tiện cho tiêu đề.
  • Bỏ dấu tiếng Việt: hỗ trợ tạo slug chuẩn SEO hoặc tên file dễ quản lý.
  • Đảo ngược hoa/thường: biến chữ hoa thành thường và ngược lại.
  • Copy nhanh: chỉ cần click vào ô kết quả là đã có thể sao chép văn bản.

Ứng dụng thực tế của công cụ chuyển đổi văn bản online

Không chỉ là một tiện ích nhỏ, công cụ chuyển đổi văn bản onlineTruongDevs chia sẻ còn có thể áp dụng trong nhiều tình huống khác nhau. Dù bạn là blogger, content creator hay chỉ đơn giản là thường xuyên soạn thảo văn bản thì tool này đều mang lại lợi ích rõ rệt.

  • Blogger và content creator: dễ dàng chuẩn hóa tiêu đề, tạo slug đẹp mắt và tối ưu SEO ngay khi viết bài.
  • Người làm việc văn phòng: nhanh chóng chỉnh sửa đoạn text để phù hợp với báo cáo, email hoặc tài liệu cần gửi đi.
  • Lập trình viên: bỏ dấu tiếng Việt hoặc viết thường toàn bộ để đặt tên file, biến hoặc slug một cách gọn gàng.
  • Người dùng phổ thông: chỉ cần copy một đoạn text bất kỳ và biến nó thành định dạng mong muốn trong vài giây.

Cách sử dụng công cụ chuyển đổi văn bản online

Để sử dụng công cụ chuyển đổi văn bản online miễn phí trên Blogger, bạn không cần cài đặt phần mềm phức tạp. Chỉ với vài thao tác cơ bản, bạn đã có thể nhúng công cụ vào website của mình và bắt đầu trải nghiệm ngay.

  1. Truy cập vào Blogger.
  2. Trong bảng điều khiển, chọn TrangTrang mới, sau đó chuyển sang chế độ HTML.
  3. Sao chép đoạn code công cụ chuyển đổi văn bản online ở trên và dán vào khung soạn thảo.
    <style>
    .text-converter{
      max-width:100%;
      margin:20px auto;
      padding:20px;
      border:1px solid #ddd;
      border-radius:8px;
      box-shadow:0 4px 8px rgba(0,0,0,0.1);
      background:#fff;
      position:relative;
      overflow:visible;
      font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    }
    .text-converter textarea,
    .text-converter input[type="text"]{
      width:100%;
      padding:10px 14px;
      margin-bottom:12px;
      border:1px solid #ccc;
      border-radius:8px;
      resize:vertical;
      font-size:14px;
      box-sizing:border-box;
      line-height:1.5;
    }
    .text-converter label{
      font-weight:600;
      display:block;
      margin:8px 0 6px;
    }
    .text-converter .btn{
      padding:0 18px;
      margin:5px;
      border:none;
      border-radius:8px;
      cursor:pointer;
      color:#fff;
      font-size:14px;
      font-weight:600;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      text-decoration:none;
      transition:transform .15s ease, background .2s ease, box-shadow .2s ease;
      box-shadow:0 2px 8px rgba(0,0,0,.08);
      height:46px;
      line-height:1;
    }
    .text-converter .btn:hover{ transform:translateY(-1px); }
    .text-converter .btn:active{ transform:translateY(0); }
    .text-converter .btn:focus-visible{ outline:3px solid rgba(0,0,0,.25); outline-offset:2px; }
    .btn-primary{ background:#2563eb; }
    .btn-primary:hover{ background:#1d4ed8; }
    .btn-secondary{ background:#4b5563; }
    .btn-secondary:hover{ background:#374151; }
    .btn-success{ background:#16a34a; }
    .btn-success:hover{ background:#15803d; }
    .btn-warning{ background:#f59e0b; color:#1b1b1b; }
    .btn-warning:hover{ background:#d9900a; }
    .btn-info{ background:#0ea5b7; }
    .btn-info:hover{ background:#0b8fa0; }
    .btn-danger{ background:#dc2626; }
    .btn-danger:hover{ background:#b91c1c; }
    .text-converter .btn-container{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      justify-content:center;
    }
    .credit-link{
      text-align:center;
      font-size:12px;
      color:#555;
      margin-top:10px;
      pointer-events:none;
    }
    .credit-link a{ color:#007bff; text-decoration:none; }
    .toast{
      visibility:hidden;
      display:flex;
      align-items:center;
      gap:10px;
      min-width:max-content;
      background:#28a745;
      color:#fff;
      border-radius:8px;
      padding:12px 20px;
      position:fixed;
      z-index:9999;
      top:20px;
      right:20px;
      font-size:14px;
      box-shadow:0 4px 10px rgba(0,0,0,.2);
      opacity:0;
      transform:translateY(-20px);
      transition:visibility 0s, opacity .35s ease, transform .35s ease;
    }
    .toast.show{ visibility:visible; opacity:1; transform:translateY(0); }
    .toast svg{ flex-shrink:0; }
    .line{fill:none!important; }
    .slug-row{
      display:flex;
      align-items:center;
      gap:12px;
      margin-top:8px;
    }
    .slug-row input#slugOutput{
      flex:1 1 auto;
      height:46px;
      padding:10px 14px;
      margin-bottom:0;
      line-height:1.5;
      border-radius:8px;
    }
    .slug-row .btn{
      margin:0;
      white-space:nowrap;
      min-width:110px;
      justify-content:center;
    }
    .small{ font-size:12px; color:#666; }
    </style>
    
    <div class="text-converter">
      <!-- Input -->
      <div>
        <label for="myWidgetInputText">Nhập văn bản:</label>
        <textarea id="myWidgetInputText" rows="5" placeholder="Nhập văn bản cần chuyển đổi..."></textarea>
      </div>
    
      <!-- Buttons -->
      <div class="btn-container">
        <button class="btn btn-primary"   onclick="TD.toUpperCaseText()">Viết Hoa Toàn Bộ</button>
        <button class="btn btn-secondary" onclick="TD.toLowerCaseText()">Viết Thường Toàn Bộ</button>
        <button class="btn btn-success"   onclick="TD.toTitleCaseText()">Viết Hoa Chữ Cái Đầu</button>
        <button class="btn btn-warning"   onclick="TD.removeAccentsText()">Bỏ Dấu Tiếng Việt</button>
        <button class="btn btn-info"      onclick="TD.invertCaseText()">Đảo Ngược Hoa/Thường</button>
        <button class="btn btn-danger"    onclick="TD.clearText()">Xóa</button>
      </div>
    
      <!-- Output -->
      <div>
        <label for="myWidgetOutputText">Kết quả:</label>
        <textarea id="myWidgetOutputText" rows="5" readonly onclick="TD.copyOutputText()" placeholder="Kết quả sẽ hiển thị ở đây và tự động sao chép khi bấm vào..."></textarea>
      </div>
    
      <!-- URL Slug -->
      <hr style="margin:14px 0;border:0;border-top:1px dashed #e3e3e3;">
      <label>URL slug</label>
    
      <div class="slug-row">
        <input id="slugOutput" type="text" readonly placeholder="Slug sẽ hiển thị ở đây...">
        <button id="btnMakeSlug" class="btn btn-info"    onclick="TD.makeSlug()">Tạo Slug</button>
        <button id="btnCopySlug" class="btn btn-warning" onclick="TD.copySlug()">Copy URL</button>
      </div>
      <div class="small">Slug được chuyển sang chữ thường, loại dấu tiếng Việt, thay khoảng trắng bằng “-”, gộp dấu “-” lặp và cắt gọn hai đầu.</div>
    
      <div class="credit-link" id="creditLink">
        Powered by <a href="https://truongdevs.com" target="_blank" rel="noopener">truongdevs.com</a>
      </div>
    </div>
    
    <!-- Toast -->
    <div id="myToast" class="toast" role="status" aria-live="polite">
      <svg class="line" viewBox="0 0 24 24" width="20" height="20" stroke="currentColor" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <path d="M8.38 12L10.79 14.42L15.62 9.57996"></path>
        <path d="M10.75 2.44995C11.44 1.85995 12.57 1.85995 13.27 2.44995L14.85 3.80995C15.15 4.06995 15.71 4.27995 16.11 4.27995H17.81C18.87 4.27995 19.74 5.14995 19.74 6.20995V7.90995C19.74 8.29995 19.95 8.86995 20.21 9.16995L21.57 10.7499C22.16 11.4399 22.16 12.5699 21.57 13.2699L20.21 14.8499C19.95 15.1499 19.74 15.7099 19.74 16.1099V17.8099C19.74 18.8699 18.87 19.7399 17.81 19.7399H16.11C15.72 19.7399 15.15 19.9499 14.85 20.2099L13.27 21.5699C12.58 22.1599 11.45 22.1599 10.75 21.5699L9.17 20.2099C8.87 19.9499 8.31 19.7399 7.91 19.7399H6.18C5.12 19.7399 4.25 18.8699 4.25 17.8099V16.0999C4.25 15.7099 4.04 15.1499 3.79 14.8499L2.44 13.2599C1.86 12.5699 1.86 11.4499 2.44 10.7599L3.79 9.16995C4.04 8.86995 4.25 8.30995 4.25 7.91995V6.19995C4.25 5.13995 5.12 4.26995 6.18 4.26995H7.91C8.3 4.26995 8.87 4.05995 9.17 3.79995L10.75 2.44995Z"></path>
      </svg>
      <span id="toastMessage">Đã sao chép!</span>
    </div>
    
    <script>
    (() => {
      // ===== Cache DOM
      const $ = (id) => document.getElementById(id);
      const inputEl   = $('myWidgetInputText');
      const outputEl  = $('myWidgetOutputText');
      const toastEl   = $('myToast');
      const toastMsg  = $('toastMessage');
      const slugOutEl = $('slugOutput');
      const btnMake   = $('btnMakeSlug');
      const btnCopy   = $('btnCopySlug');
    
      // ===== Helpers
      function setOutput(text){ outputEl.value = text || ''; }
      function getInput(){ return inputEl.value || ''; }
    
      function safeCopy(text){
        if (!text) return Promise.reject();
        if (navigator.clipboard && window.isSecureContext) {
          return navigator.clipboard.writeText(text);
        }
        // Fallback cho HTTP/Safari cũ
        const ta = document.createElement('textarea');
        ta.value = text; ta.style.position='fixed'; ta.style.opacity='0';
        document.body.appendChild(ta);
        ta.focus(); ta.select();
        let ok = false;
        try { ok = document.execCommand('copy'); } catch(e){}
        document.body.removeChild(ta);
        return ok ? Promise.resolve() : Promise.reject();
      }
    
      function showToast(message){
        toastMsg.textContent = message;
        toastEl.classList.add('show');
        setTimeout(()=> toastEl.classList.remove('show'), 2500);
      }
    
      function removeVietnameseAccents(str){
        const noMarks = (str || '').normalize('NFD').replace(/[\u0300-\u036f]/g,'');
        return noMarks.replace(/đ/g,'d').replace(/Đ/g,'D');
      }
    
      // ===== Base transforms (export dưới namespace TD)
      const TD = {};
      TD.toUpperCaseText = () => setOutput(getInput().toUpperCase());
      TD.toLowerCaseText = () => setOutput(getInput().toLowerCase());
      TD.toTitleCaseText = () => {
        const words = getInput().split(/\s+/);
        setOutput(words.map(w => w ? w[0].toUpperCase() + w.slice(1).toLowerCase() : w).join(' '));
      };
      TD.removeAccentsText = () => setOutput(removeVietnameseAccents(getInput()));
      TD.invertCaseText = () => {
        const src = getInput(); let out = '';
        for (let ch of src) out += (ch === ch.toUpperCase()) ? ch.toLowerCase() : ch.toUpperCase();
        setOutput(out);
      };
      TD.clearText = () => { inputEl.value=''; setOutput(''); slugOutEl.value=''; refreshButtons(); };
    
      TD.copyOutputText = () => {
        safeCopy(outputEl.value)
          .then(()=> showToast('Đã sao chép kết quả!'))
          .catch(()=> showToast('Không thể sao chép!'));
      };
    
      // ===== Slugify (không giới hạn độ dài)
      function slugify(input){
        let s = (input || '').trim();
        if (!s) return '';
        s = removeVietnameseAccents(s).toLowerCase();
        // gom space unicode -> 1 space
        s = s.replace(/\s+/g,' ');
        // map ký hiệu mềm
        const softMap = {'&':' and ','+':' plus ','@':' at ','%':' percent ','€':' euro ','$':' dollar ','£':' pound '};
        s = s.replace(/[&+@%€$£]/g, m => softMap[m]);
        // giữ a-z0-9 -> thay còn lại bằng '-'
        s = s.replace(/[^a-z0-9]+/g,'-')
             .replace(/-+/g,'-')
             .replace(/^-+|-+$/g,'');
        return s;
      }
    
      TD.makeSlug = () => {
        const src = getInput();
        if (!src.trim()) { showToast('Vui lòng nhập văn bản trước!'); return; }
        slugOutEl.value = slugify(src);
        refreshButtons();
      };
    
      TD.copySlug = () => {
        const val = (slugOutEl.value || '').trim();
        if (!val){ showToast('Chưa có slug để sao chép!'); return; }
        safeCopy(val)
          .then(()=> showToast('Đã sao chép URL!'))
          .catch(()=> showToast('Không thể sao chép!'));
      };
    
      // ===== UI states
      function refreshButtons(){
        const hasInput = !!getInput().trim();
        const hasSlug  = !!(slugOutEl.value || '').trim();
        btnMake.disabled = !hasInput;
        btnCopy.disabled = !hasSlug;
        btnMake.style.opacity = btnMake.disabled ? .6 : 1;
        btnCopy.style.opacity = btnCopy.disabled ? .6 : 1;
        btnMake.style.cursor  = btnMake.disabled ? 'not-allowed' : 'pointer';
        btnCopy.style.cursor  = btnCopy.disabled ? 'not-allowed' : 'pointer';
      }
      inputEl.addEventListener('input', refreshButtons);
      slugOutEl.addEventListener('input', refreshButtons);
      refreshButtons();
    
      // Ctrl/Cmd + Enter: tạo slug nhanh
      inputEl.addEventListener('keydown', (e)=>{
        if (e.key === 'Enter' && (e.ctrlKey || e.metaKey)) {
          e.preventDefault(); TD.makeSlug();
        }
      });
    
      // expose
      window.TD = TD;
    })();
    </script>
  4. Nhấn Xuất bản để lưu. Vậy là bạn đã có một trang Blogger riêng chứa công cụ chuyển đổi văn bản miễn phí.
  5. Mở đường dẫn trang vừa tạo để nhập văn bản và áp dụng các thao tác viết hoa, viết thường, bỏ dấu tiếng Việt, đảo ngược chữ...

Chỉ với vài bước đơn giản, công cụ chuyển đổi văn bản online đã giúp bạn tiết kiệm thời gian và giữ cho nội dung luôn gọn gàng, chuẩn chỉnh.

Ưu điểm so với các công cụ khác

Hiện nay có khá nhiều công cụ chỉnh sửa văn bản trực tuyến, nhưng điểm khác biệt khiến giải pháp mà TruongDevs chia sẻ trở nên nổi bật chính là sự đơn giản và thân thiện với người dùng. Bạn không cần phải đăng ký tài khoản, không bị làm phiền bởi quảng cáo và có thể dùng ngay chỉ với một cú click.

  • Hoàn toàn miễn phí: tất cả tính năng đều mở cho mọi người, không có bản giới hạn.
  • Không quảng cáo: trải nghiệm mượt mà, không bị popup hay banner làm phiền.
  • Dễ tích hợp: chỉ cần copy code và dán vào Blogger hoặc website cá nhân là sử dụng ngay.
  • Chuẩn SEO: hỗ trợ tạo slug đẹp, viết hoa tiêu đề, tối ưu hóa nội dung cho công cụ tìm kiếm.
  • Thân thiện: giao diện gọn gàng, dễ thao tác ngay cả với người mới.

Nhờ những ưu điểm này, công cụ chuyển đổi văn bản online không chỉ phục vụ blogger mà còn phù hợp cho bất kỳ ai cần xử lý văn bản nhanh và gọn.

Kết luận

Việc chỉnh sửa văn bản giờ đây không còn là nỗi ám ảnh nhờ có công cụ chuyển đổi văn bản onlineTruongDevs mang đến. Chỉ với vài thao tác đơn giản, bạn đã có thể viết hoa, viết thường, bỏ dấu tiếng Việt, tạo slug chuẩn SEO và copy kết quả tức thì. Đây là trợ thủ nhỏ gọn nhưng cực kỳ hữu ích cho blogger và những ai thường xuyên làm việc với nội dung chữ.

Nếu bạn thấy công cụ này hữu ích, đừng ngần ngại chia sẻ lại cho bạn bè hoặc cộng đồng để nhiều người cùng biết đến. Càng nhiều người dùng, giá trị mà công cụ này mang lại càng lan tỏa rộng rãi. Và tất nhiên, bạn luôn có thể ghé lại TruongDevs để cập nhật thêm nhiều tiện ích thú vị khác phục vụ cho việc viết lách và sáng tạo nội dung.

About the author

TruongDevs
Không phải bug nào cũng xấu, có bug giúp ta tỉnh ra

Post a Comment