Ferramentas / Escapar e desescapar strings

Escapar e desescapar strings

Escape ou desescape textos para JSON, JavaScript, URL, HTML, expressões regulares e SQL.

Processamento local: nada do que você digita sai do seu navegador.

Como usar

Escolha o formato, a operação (escapar ou desescapar) e cole o texto. O resultado aparece enquanto você digita.

O que cada formato faz

  • JSON: escapa aspas, barras e quebras de linha para caber dentro de uma string JSON.
  • JavaScript: prepara o texto para strings com aspas simples ou duplas (\n, \', \xNN).
  • URL: percent-encoding de componente (encodeURIComponent).
  • HTML: troca & < > " ' por entidades.
  • Regex: adiciona barra antes de caracteres especiais para casar o texto literalmente.
  • SQL: dobra aspas simples. Serve só para estudo: em código real use consultas parametrizadas.

Como implementar em código

Exemplos prontos para usar no seu projeto.

// Escapar para dentro de uma string JSON (sem as aspas externas)
const escaparJson = (s) => JSON.stringify(s).slice(1, -1);
const desescaparJson = (s) => JSON.parse('"' + s + '"');

// Escapar para usar em uma RegExp
const escaparRegex = (s) => s.replace(/[.*+?^${}()|[\]\\\/-]/g, '\\$&');

console.log(escaparJson('Ele disse: "oi"\n')); // Ele disse: \"oi\"\n
console.log(escaparRegex('R$ (10)'));          // R\$ \(10\)
import json, re

def escapar_json(s: str) -> str:
    return json.dumps(s, ensure_ascii=False)[1:-1]

def desescapar_json(s: str) -> str:
    return json.loads('"' + s + '"')

print(escapar_json('Ele disse: "oi"\n'))  # Ele disse: \"oi\"\n
print(re.escape("R$ (10)"))                # R\$\ \(10\)
package main

import (
	"encoding/json"
	"fmt"
	"regexp"
)

func escaparJson(s string) string {
	b, _ := json.Marshal(s)
	return string(b[1 : len(b)-1]) // remove as aspas externas
}

func main() {
	fmt.Println(escaparJson("Ele disse: \"oi\"\n"))
	fmt.Println(regexp.QuoteMeta("R$ (10)")) // R\$ \(10\)
}
import 'dart:convert';

String escaparJson(String s) {
  final j = jsonEncode(s);
  return j.substring(1, j.length - 1);
}

void main() {
  print(escaparJson('Ele disse: "oi"\n'));
  print(RegExp.escape(r'R$ (10)')); // R\$ \(10\)
}
import java.util.regex.Pattern;

public class Escape {
    // Escape mínimo para JSON (use Jackson/Gson em produção)
    static String escaparJson(String s) {
        return s.replace("\\", "\\\\").replace("\"", "\\\"")
                .replace("\n", "\\n").replace("\r", "\\r").replace("\t", "\\t");
    }

    public static void main(String[] args) {
        System.out.println(escaparJson("Ele disse: \"oi\"\n"));
        System.out.println(Pattern.quote("R$ (10)")); // \QR$ (10)\E
    }
}
<?php
// JSON (remove as aspas externas)
echo substr(json_encode("Ele disse: \"oi\"\n", JSON_UNESCAPED_UNICODE), 1, -1);

// Regex (informe o delimitador usado)
echo preg_quote('R$ (10)', '/'); // R\$ \(10\)
using System;
using System.Text.Json;
using System.Text.RegularExpressions;

string j = JsonSerializer.Serialize("Ele disse: \"oi\"\n");
Console.WriteLine(j.Substring(1, j.Length - 2)); // sem as aspas externas
Console.WriteLine(Regex.Escape("R$ (10)"));      // R\$\ \(10\)

Perguntas frequentes

Escapar é o mesmo que criptografar?

Não. Escapar apenas troca caracteres especiais por sequências seguras. Qualquer um consegue reverter, e não há segredo envolvido.

Posso usar o escape de SQL para me proteger de SQL injection?

Não é recomendado. A proteção correta é usar consultas parametrizadas (prepared statements), que separam código e dados.

Meus textos são enviados para algum servidor?

Não. Tudo é processado no seu navegador.

Veja também

Precisa de um sistema ou app sob medida?

A VcInova desenvolve software, aplicativos e integrações para empresas de todo o Brasil.

Fale com a VcInova